# Wiboor Developers Documentation
> Documentação da API pública do Wiboor para integrar tarefas, projetos, ideias, wikis e metas ao seu sistema.
This file holds the full Markdown of every page, in navigation order. Index with links: https://docs.wiboor.com.br/llms.txt
Per-section files: https://docs.wiboor.com.br/docs/llms-full.txt, https://docs.wiboor.com.br/reference/llms-full.txt, https://docs.wiboor.com.br/recipes/llms-full.txt
---
# Wiboor Developers
Source: https://docs.wiboor.com.br/
Comece em minutos
Gere o token no seu perfil do Wiboor, liste seus espaços e crie a primeira tarefa com três chamadas.
Fazer a primeira requisição
Teste na própria página
Cada endpoint da referência tem exemplos de código e um Try It para chamar a API com o seu token.
Criar uma tarefa
Feita para IA
Conecte o Claude, o ChatGPT ou o Cursor à documentação pelo MCP Server e gere a integração com a doc oficial.
Configurar o MCP Server
---
# Comece aqui
Source: https://docs.wiboor.com.br/docs/comece-aqui
O caminho para a primeira integração com a API do Wiboor, do token à primeira tarefa
Estas páginas cobrem o que você precisa para integrar com o Wiboor: o que a API faz, como autenticar, as primeiras chamadas e como usar a documentação com IA.
O que a API faz, a URL base e os casos de uso.
Gerar o token no perfil e enviar no header.
Listar espaços, criar uma tarefa e paginar.
Conectar Claude, ChatGPT ou Cursor à documentação.
Para testar os endpoints sem escrever código, baixe a API para Postman ou Insomnia em [Collections](/docs/collections). Para fluxos completos, veja as [recipes](/recipes).
---
# Introdução
Source: https://docs.wiboor.com.br/docs/introducao
O que a API do Wiboor faz e como ela se encaixa no seu sistema
A API do Wiboor dá acesso programático à plataforma de gestão de trabalho: com ela, você integra o Wiboor ao seu sistema e automatiza a gestão de espaços, projetos, tarefas e ideias.
É uma API REST para comunicação **backend-to-backend**: as chamadas saem do seu servidor, com um token de API, e recebem JSON.
```text URL base
https://api.azzimuti.com.br/v1
```
## O que você pode fazer
| Recurso | O que a API faz |
|---|---|
| [Espaços](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros) | Lista os espaços de que você participa e os membros de cada um |
| [Tarefas](/reference/listar-todas-as-tarefas-com-filtros) | Cria, atualiza e exclui tarefas e problemas; inicia, pausa e finaliza a execução; comentários e checklist |
| [Projetos](/reference/listar-todos-os-projetos) | Cria e atualiza projetos e vincula tarefas a eles |
| [Ideias](/reference/listar-todas-as-ideias-com-filtros) | Registra ideias da equipe e muda o status de cada uma |
| [Wikis](/reference/listar-as-wikis-dos-espacos-do-seu-usuario) | Cria e mantém as wikis dos seus espaços |
| [Metas](/reference/listar-as-metas-da-empresa) e [Templates](/reference/listar-os-templates-que-voce-ve) | Consulta as metas da empresa e os templates disponíveis |
## Casos de uso
- **CRM:** cria uma tarefa de follow-up quando um lead muda de etapa.
- **Help desk e suporte:** transforma tickets em tarefas ou projetos internos para resolução.
- **RH:** integra admissões, desligamentos e rotinas de pessoas com tarefas para as equipes.
- **Agências:** cria projetos para clientes, tarefas para as equipes de design e redação e registra ideias de campanha.
## Próximos passos
1. [Gere seu token e autentique](/docs/autenticacao).
2. [Faça sua primeira requisição](/docs/primeira-requisicao).
3. Explore a [referência da API](/reference/listar-todas-as-tarefas-com-filtros) e teste as chamadas direto na página.
Teve algum problema? [Abra um ticket](https://cefis.com.br/portal/solicitacoes) no nosso canal de suporte.
---
# Autenticação
Source: https://docs.wiboor.com.br/docs/autenticacao
Gere o token de API no Wiboor e envie em todas as requisições
A API do Wiboor usa **Bearer Token**. Cada token pertence a um usuário: a API enxerga e altera o que esse usuário pode ver e fazer no Wiboor.
## Gere seu token
1. Entre na sua conta em [wiboor.com.br](https://wiboor.com.br/login).
2. Clique no botão do seu perfil (o último do painel lateral) e escolha **Token**.
3. Clique em **Gerar Token** e copie o token exibido.
> ⚠️ O token aparece uma vez só
>
> Guarde-o num lugar seguro, como o cofre de segredos do seu servidor. Se você gerar um token novo, o anterior deixa de funcionar na hora.
## Envie o token nas requisições
Inclua o token no header `Authorization` de todas as chamadas:
```bash Terminal
curl "https://api.azzimuti.com.br/v1/departments" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json"
```
| Header | Valor |
|---|---|
| `Authorization` | `Bearer SEU_TOKEN` |
| `Content-Type` | `application/json` (nas requisições com corpo) |
Na [referência da API](/reference/listar-todas-as-tarefas-com-filtros), cole o token no campo de autenticação para testar as chamadas direto na página.
> ⚠️ O token do Try It fica salvo neste navegador
>
> Para você não precisar colar de novo, o token digitado na referência fica guardado no navegador. Teste só num computador seu, nunca num compartilhado.
## Respostas de autenticação
| Status | Quando acontece |
|---|---|
| `401` | Token ausente, inválido ou revogado (por exemplo, depois de gerar um token novo) |
| `403` | O token é válido, mas o usuário não tem permissão para a ação. Exemplo: só quem solicitou a tarefa ou um gestor pode editá-la |
## Boas práticas
- Use o token só no seu backend. Nunca o coloque em código que roda no navegador ou no app do usuário.
- Crie um usuário de integração no Wiboor quando as tarefas precisarem aparecer como abertas pelo sistema, e não por uma pessoa.
- Ao trocar o token, atualize todos os sistemas que usam o anterior.
---
# Primeira requisição
Source: https://docs.wiboor.com.br/docs/primeira-requisicao
Liste seus espaços, crie uma tarefa e pagine resultados
Com o [token em mãos](/docs/autenticacao), faça estas três chamadas para conhecer a API.
## 1. Liste seus espaços
Os espaços organizam as tarefas e os projetos no Wiboor. Comece por eles: a resposta traz o `id` de cada espaço e os usuários que participam com você.
```bash Terminal
curl "https://api.azzimuti.com.br/v1/departments" \
-H "Authorization: Bearer SEU_TOKEN"
```
Veja todos os campos em [Listar espaços](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros).
## 2. Crie uma tarefa
Use o `id` de um espaço e o `id` de um membro (o executor) para criar uma tarefa:
```bash Terminal
curl -X POST "https://api.azzimuti.com.br/v1/tasks" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Retornar contato do lead ACME",
"type": "TASK",
"departmentId": "ID_DO_ESPACO",
"userExecutorId": "ID_DO_EXECUTOR"
}'
```
- Só `title`, `type` e `userExecutorId` são obrigatórios.
- Para planejar a tarefa, envie `startedAt` (início) e `endedAt` (prazo) em ISO 8601, por exemplo `2026-12-01T12:00:00.000Z`. O início não pode estar no passado: a API responde `400`.
- Os demais campos (prioridade, descrição, projeto…) estão em [Criar uma tarefa](/reference/criar-uma-nova-tarefa-ou-problema-para-alguem).
- `type` é `TASK` (tarefa) ou `BUG` (problema).
## 3. Liste tarefas com filtros e paginação
```bash Terminal
curl -G "https://api.azzimuti.com.br/v1/tasks" \
-H "Authorization: Bearer SEU_TOKEN" \
--data-urlencode "userExecutorId=ID_DO_EXECUTOR" \
--data-urlencode "status[]=NOT_STARTED" \
--data-urlencode "status[]=STARTED" \
--data-urlencode "count=50" \
--data-urlencode "page=1"
```
As listagens são paginadas: `count` define quantos itens vêm por página e `page` escolhe a página. A resposta traz o campo `pagination` para você saber se há mais páginas.
Todos os filtros (busca, projeto, espaços, período, status) estão em [Listar tarefas](/reference/listar-todas-as-tarefas-com-filtros).
## Próximos passos
- Acompanhe a execução com [iniciar](/reference/quando-voce-comecar-a-executar-uma-tarefa), [pausar](/reference/quando-voce-quer-pausar-a-execucao-de-uma-tarefa) e [finalizar](/reference/quando-voce-quer-finaliza-a-execucao-de-uma-tarefa) uma tarefa.
- Agrupe tarefas em [projetos](/reference/criar-um-novo-projeto).
- Use a documentação com o seu assistente de IA pelo [MCP Server](/docs/mcp-server).
---
# MCP Server (IA)
Source: https://docs.wiboor.com.br/docs/mcp-server
Use a documentação do Wiboor com assistentes de IA
# Use a documentação do Wiboor com assistentes de IA
O MCP Server do Wiboor deixa assistentes de IA como Claude, ChatGPT, Cursor e VS Code consultarem esta documentação direto, com as informações sempre atualizadas: endpoints, parâmetros, exemplos e guias.
Com ele, o assistente responde perguntas sobre a integração e gera código com base na documentação oficial, sem você precisar copiar e colar páginas.
> 📘 Só documentação
>
> O MCP Server é público e só lê a documentação. Ele não acessa a sua conta, não usa o seu token e não faz chamadas à API do Wiboor.
## Conecte seu assistente ao MCP Server
O endereço do MCP Server é:
```text URL
https://docs.wiboor.com.br/mcp
```
### O que o assistente pode consultar
| Ferramenta | Para que serve |
|---|---|
| `list-specs` | Lista as especificações OpenAPI disponíveis |
| `list-endpoints` | Lista todos os endpoints da API |
| `search-endpoints` | Busca endpoints por caminho, nome, parâmetro ou campo |
| `get-endpoint` | Traz os detalhes de um endpoint: parâmetros, corpo, respostas e exemplos |
| `search` | Busca nos guias e na referência |
| `fetch` | Lê uma página da documentação em Markdown |
## Configure o MCP Server
Em qualquer página da documentação, o menu ao lado de **Copiar página** tem atalhos para instalar no Cursor e no VS Code e para copiar a configuração.
### Cursor
Adicione ao arquivo `~/.cursor/mcp.json`:
```json mcp.json
{
"mcpServers": {
"wiboor-docs-mcp": {
"url": "https://docs.wiboor.com.br/mcp"
}
}
}
```
### VS Code
Adicione ao arquivo `.vscode/mcp.json` do projeto:
```json .vscode/mcp.json
{
"servers": {
"wiboor-docs-mcp": {
"type": "http",
"url": "https://docs.wiboor.com.br/mcp"
}
}
}
```
### Claude Code
```bash Terminal
claude mcp add --transport http wiboor-docs-mcp https://docs.wiboor.com.br/mcp
```
### Claude Desktop, ChatGPT e outros
Adicione um conector MCP remoto com a URL `https://docs.wiboor.com.br/mcp`. O caminho no menu muda conforme o aplicativo: consulte a documentação dele.
## Teste a configuração
Depois de conectar, pergunte ao assistente algo como:
- "Como criar uma tarefa pela API do Wiboor?"
- "Quais campos são obrigatórios para criar um projeto?"
- "Mostre um exemplo em Node.js para listar as tarefas abertas de um usuário."
Se a resposta citar endpoints e guias do Wiboor, o MCP Server está funcionando.
## Consulte o arquivo LLMs.txt
Para assistentes que não usam MCP, a documentação também está disponível em arquivos de texto pensados para IA:
- [`/llms.txt`](/llms.txt): índice com todas as páginas.
- [`/llms-full.txt`](/llms-full.txt): toda a documentação em um arquivo só.
Toda página também tem uma versão em Markdown: troque o fim do endereço por `.md`.
## Reporte informações incorretas
Assistentes de IA podem errar. Se encontrar uma resposta incorreta baseada nesta documentação, [abra um ticket](https://cefis.com.br/portal/solicitacoes) no nosso canal de suporte.
## Próximos passos
- [Autenticação](/docs/autenticacao)
- [Primeira requisição](/docs/primeira-requisicao)
---
# Collections
Source: https://docs.wiboor.com.br/docs/collections
Baixe a API pronta para importar no Postman ou no Insomnia.
Todos os endpoints de **Wiboor API** estão disponíveis em arquivos prontos para os clientes de API mais usados. Importe o arquivo, escolha o ambiente e informe sua credencial: cada requisição já vem com URL, parâmetros, corpo de exemplo e autenticação.
Coleção (formato v2.1) e um ambiente por servidor.
Um arquivo de exportação com todos os ambientes.
## O que vem nos arquivos
- Uma pasta por grupo da Referência da API, na mesma ordem da barra lateral, e uma requisição por endpoint.
- URLs montadas com a variável `baseUrl`, que muda conforme o ambiente escolhido (um por servidor da API).
- Parâmetros documentados: os obrigatórios ativos e os opcionais desmarcados, prontos para ligar.
- O mesmo corpo de exemplo que a documentação e o Try It mostram.
- Autenticação configurada a partir dos esquemas de segurança da API, apontando para variáveis vazias. Nenhuma credencial vem nos arquivos.
> 📘 Sempre atualizados
> Os arquivos são gerados novamente a cada publicação desta documentação, a partir da mesma especificação OpenAPI da Referência.
---
# Postman
Source: https://docs.wiboor.com.br/docs/postman
Importe a coleção da API no Postman, escolha o ambiente e faça a primeira requisição.
Use a coleção do Postman para testar os endpoints da API antes de implementar as chamadas na sua aplicação.
> 📘 Ao final deste guia
> Você terá a coleção e um ambiente importados no Postman, sua credencial configurada e uma requisição executada.
## Quando usar
- explorar os endpoints sem escrever código;
- conferir autenticação, headers e URLs;
- testar o corpo de uma requisição antes de levá-lo para a sua aplicação;
- reproduzir um erro durante o desenvolvimento;
- compartilhar requisições com o seu time.
## Antes de começar
- Instale o [Postman](https://www.postman.com/downloads/) ou use a versão web.
- Tenha uma credencial de acesso à API para o ambiente que vai testar.
> ⚠️ Proteja sua credencial
> Não publique sua credencial em workspaces públicos, capturas de tela, repositórios ou conversas. Use credenciais de teste sempre que a API oferecer um ambiente de testes.
## 1. Baixe os arquivos
Baixe a coleção e o ambiente do servidor que vai usar. A coleção é a mesma para todos os ambientes: só o ambiente muda.
- [Wiboor API — coleção do Postman](https://docs.wiboor.com.br/postman/wiboor-api.postman_collection.json)
- [Wiboor API — ambiente Produção](https://docs.wiboor.com.br/postman/wiboor-api.producao.postman_environment.json)
## 2. Importe no Postman
1. No Postman, abra o workspace em que quer guardar a coleção e clique em **Import**.
2. Arraste a coleção e o ambiente para a janela ou clique em **files** para selecioná-los. Também dá para colar o endereço de um arquivo (clique com o botão direito no botão de download e copie o link).
3. Confirme em **Import**. A coleção aparece em **Collections** e o ambiente, em **Environments**.
## 3. Selecione o ambiente
Cada ambiente define a variável `baseUrl` com a URL base de um servidor da API:
| Ambiente | URL base (`baseUrl`) |
| --- | --- |
| Produção | `https://api.azzimuti.com.br` |
No seletor de ambientes, no canto superior direito, escolha o ambiente importado. Sem um ambiente selecionado, as requisições usam o `baseUrl` da própria coleção (o primeiro servidor).
## 4. Informe sua credencial
A autenticação já está configurada na aba **Authorization** da coleção e as requisições a herdam. Ela usa as variáveis abaixo, que vêm vazias:
| Variável | Uso | Referência |
| --- | --- | --- |
| `token` | Token de acesso, enviado como `Authorization: Bearer ` | `{{token}}` |
Em **Environments**, abra o ambiente selecionado, preencha o valor da variável e salve (**Ctrl+S** ou **Cmd+S**). As variáveis de credencial são do tipo **secret**: o valor fica mascarado na tela.
## 5. Envie uma requisição
1. Abra uma pasta da coleção e selecione um endpoint.
2. Confira a URL e a aba **Params**: as variáveis de path (`:id`) e os parâmetros opcionais, que vêm desmarcados.
3. Ajuste o corpo de exemplo na aba **Body**, quando houver.
4. Clique em **Send** e confira o status e o corpo da resposta.
Uma resposta com status `2xx` indica sucesso. O código exato e o formato da resposta estão na página do endpoint, na Referência.
## Erros comuns
| Problema | O que verificar |
| --- | --- |
| `401` ou `403` | Se a variável de credencial está preenchida no ambiente selecionado e se a credencial é do mesmo ambiente da URL. |
| URL com `{{baseUrl}}` ou erro de URL inválida | Se há um ambiente selecionado no canto superior direito. |
| `404` | Se as variáveis de path da aba **Params** foram preenchidas. |
| `400` ou `422` | Se o corpo é um JSON válido e segue os campos descritos na página do endpoint. |
## Atualizações
Os arquivos são gerados novamente a cada publicação desta documentação, a partir da mesma especificação OpenAPI da Referência.
Para receber endpoints novos ou alterados, baixe a coleção de novo e importe-a. O Postman avisa que a coleção já existe e pergunta se deve substituí-la ou importar uma cópia.
## Próximos passos
- [Consulte a Referência da API](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros)
- [Use a coleção no Insomnia](/docs/insomnia)
- [Veja todas as collections](/docs/collections)
---
# Insomnia
Source: https://docs.wiboor.com.br/docs/insomnia
Importe a API no Insomnia com ambientes e autenticação prontos e faça a primeira requisição.
Importe a API no Insomnia para ter todos os endpoints em uma coleção, organizados em pastas e com ambientes e autenticação prontos.
> 📘 Ao final deste guia
> Você terá a coleção importada no Insomnia, um ambiente selecionado, sua credencial configurada e uma requisição executada.
## Antes de começar
- Instale o [Insomnia](https://insomnia.rest/download).
- Tenha uma credencial de acesso à API para o ambiente que vai testar.
> ⚠️ Proteja sua credencial
> Não publique sua credencial em workspaces públicos, capturas de tela, repositórios ou conversas. Use credenciais de teste sempre que a API oferecer um ambiente de testes.
## 1. Baixe o arquivo
Um único arquivo traz a coleção e todos os ambientes.
- [Wiboor API — arquivo do Insomnia](https://docs.wiboor.com.br/insomnia/wiboor-api.insomnia.json)
## 2. Importe no Insomnia
1. No Insomnia, abra o projeto em que quer guardar a coleção e clique em **Import**.
2. Escolha **File** e selecione o arquivo baixado, ou escolha **URL** e cole o endereço do arquivo (abaixo).
3. Clique em **Scan**, confira o resumo e confirme em **Import**. Uma coleção com o nome da API é criada, com uma pasta por grupo da Referência.
Endereço para a importação por URL:
```text
https://docs.wiboor.com.br/insomnia/wiboor-api.insomnia.json
```
> 📘 Alternativa: coleção do Postman
> O Insomnia também importa a [coleção do Postman](/docs/postman) (formato v2.1). Use-a se o seu time já trabalha com ela.
## 3. Escolha o ambiente
A coleção traz um ambiente base e um subambiente por servidor da API, cada um com a variável `baseUrl`:
| Subambiente | URL base (`baseUrl`) |
| --- | --- |
| Produção | `https://api.azzimuti.com.br` |
No seletor de ambientes, acima da lista de requisições, escolha o subambiente. Sem um subambiente, vale o ambiente base (o primeiro servidor).
## 4. Informe sua credencial
Cada requisição já tem a autenticação configurada na aba **Auth**, usando as variáveis abaixo, que vêm vazias:
| Variável | Uso | Referência |
| --- | --- | --- |
| `token` | Token de acesso, enviado como `Authorization: Bearer ` | `{{ _.token }}` |
Abra **Manage Environments** (no seletor de ambientes), selecione o subambiente em uso e preencha o valor da variável. As alterações são salvas automaticamente.
## 5. Envie uma requisição
1. Abra uma pasta da coleção e selecione um endpoint.
2. Confira a URL e as abas **Params** (variáveis de path e parâmetros opcionais, que vêm desativados) e **Headers**.
3. Ajuste o corpo de exemplo na aba **Body**, quando houver.
4. Clique em **Send** e confira o status e o corpo da resposta.
Uma resposta com status `2xx` indica sucesso. O código exato e o formato da resposta estão na página do endpoint, na Referência.
## Erros comuns
| Problema | O que verificar |
| --- | --- |
| A importação não encontra requisições | Se o arquivo escolhido é o `.insomnia.json` desta página (ou a URL completa dele) e se ele foi baixado por inteiro. |
| `401` ou `403` | Se a variável de credencial está preenchida no subambiente selecionado e se a credencial é do mesmo ambiente da URL. |
| URL com `_.baseUrl` sem valor | Se há um subambiente selecionado ou se o ambiente base tem o `baseUrl` preenchido. |
| `400` ou `422` | Se o corpo é um JSON válido e segue os campos descritos na página do endpoint. |
## Atualizações
Os arquivos são gerados novamente a cada publicação desta documentação, a partir da mesma especificação OpenAPI da Referência.
Para receber endpoints novos ou alterados, importe o arquivo de novo. Se quiser comparar com a versão anterior antes de substituir, importe em um projeto separado.
## Próximos passos
- [Consulte a Referência da API](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros)
- [Use a coleção no Postman](/docs/postman)
- [Veja todas as collections](/docs/collections)
---
# Start here
Source: https://docs.wiboor.com.br/docs/start-here
The path to your first Wiboor API integration, from the token to your first task
These pages cover what you need to integrate with Wiboor: what the API does, how to authenticate, your first calls and how to use the documentation with AI.
What the API does, the base URL and use cases.
Generate the token in your profile and send it in the header.
List spaces, create a task and paginate.
Connect Claude, ChatGPT or Cursor to the documentation.
To try the endpoints without writing code, download the API for Postman or Insomnia in [Collections](/docs/collections). For complete flows, see the [recipes](/recipes) (in Portuguese).
---
# Introduction
Source: https://docs.wiboor.com.br/docs/introduction
What the Wiboor API does and how it fits into your system
The Wiboor API gives you programmatic access to the work management platform: use it to integrate Wiboor with your system and automate how you manage spaces, projects, tasks and ideas.
It is a REST API for **backend-to-backend** communication: calls leave your server with an API token and receive JSON.
```text Base URL
https://api.azzimuti.com.br/v1
```
> 🇧🇷 Reference in Portuguese
>
> The guides are available in English, but the [API reference](/reference/listar-todas-as-tarefas-com-filtros) and the field descriptions are in Portuguese, as the API itself returns them.
## What you can do
| Resource | What the API does |
|---|---|
| [Spaces](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros) | Lists the spaces you belong to and the members of each one |
| [Tasks](/reference/listar-todas-as-tarefas-com-filtros) | Creates, updates and deletes tasks and bugs; starts, pauses and finishes their execution; comments and checklists |
| [Projects](/reference/listar-todos-os-projetos) | Creates and updates projects and links tasks to them |
| [Ideas](/reference/listar-todas-as-ideias-com-filtros) | Records the team's ideas and changes their status |
| [Wikis](/reference/listar-as-wikis-dos-espacos-do-seu-usuario) | Creates and maintains the wikis of your spaces |
| [Goals](/reference/listar-as-metas-da-empresa) and [Templates](/reference/listar-os-templates-que-voce-ve) | Reads the company's goals and the available templates |
## Use cases
- **CRM:** create a follow-up task when a lead moves to another stage.
- **Help desk and support:** turn tickets into internal tasks or projects.
- **HR:** connect onboarding, offboarding and people routines to tasks for the teams.
- **Agencies:** create projects for clients, tasks for the design and copy teams, and record campaign ideas.
## Next steps
1. [Generate your token and authenticate](/docs/authentication).
2. [Make your first request](/docs/first-request).
3. Explore the [API reference](/reference/listar-todas-as-tarefas-com-filtros) and try the calls right on the page.
Having trouble? [Open a ticket](https://cefis.com.br/portal/solicitacoes) on our support channel.
---
# Authentication
Source: https://docs.wiboor.com.br/docs/authentication
Generate the API token in Wiboor and send it in every request
The Wiboor API uses a **Bearer token**. Each token belongs to a user: the API sees and changes what that user can see and do in Wiboor.
## Generate your token
1. Sign in at [wiboor.com.br](https://wiboor.com.br/login).
2. Click your profile button (the last one in the side panel) and choose **Token**.
3. Click **Gerar Token** (Generate token) and copy the token shown.
> ⚠️ The token is shown only once
>
> Keep it somewhere safe, such as your server's secret store. If you generate a new token, the previous one stops working immediately.
## Send the token in your requests
Include the token in the `Authorization` header of every call:
```bash Terminal
curl "https://api.azzimuti.com.br/v1/departments" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"
```
| Header | Value |
|---|---|
| `Authorization` | `Bearer YOUR_TOKEN` |
| `Content-Type` | `application/json` (on requests with a body) |
In the [API reference](/reference/listar-todas-as-tarefas-com-filtros), paste the token into the authentication field to try the calls right on the page.
> ⚠️ The Try It token is saved in this browser
>
> So you don't have to paste it again, the token you type in the reference is stored in the browser. Only test on your own computer, never on a shared one.
## Authentication responses
| Status | When it happens |
|---|---|
| `401` | Missing, invalid or revoked token (for example, after generating a new one) |
| `403` | The token is valid, but the user is not allowed to perform the action. Example: only the task's requester or a manager can edit it |
## Good practices
- Use the token only in your backend. Never put it in code that runs in the browser or in the user's app.
- Create an integration user in Wiboor when tasks should show up as opened by the system rather than by a person.
- When you rotate the token, update every system that uses the old one.
---
# First request
Source: https://docs.wiboor.com.br/docs/first-request
List your spaces, create a task and paginate results
With your [token in hand](/docs/authentication), make these three calls to get to know the API.
## 1. List your spaces
Spaces organize tasks and projects in Wiboor. Start with them: the response brings the `id` of each space and the users who share it with you.
```bash Terminal
curl "https://api.azzimuti.com.br/v1/departments" \
-H "Authorization: Bearer YOUR_TOKEN"
```
See every field in [List spaces](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros).
## 2. Create a task
Use the `id` of a space and the `id` of a member (the assignee) to create a task:
```bash Terminal
curl -X POST "https://api.azzimuti.com.br/v1/tasks" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Call back the ACME lead",
"type": "TASK",
"departmentId": "SPACE_ID",
"userExecutorId": "ASSIGNEE_ID"
}'
```
- Only `title`, `type` and `userExecutorId` are required.
- To schedule the task, send `startedAt` (start) and `endedAt` (due date) in ISO 8601, for example `2026-12-01T12:00:00.000Z`. The start cannot be in the past: the API responds `400`.
- The other fields (priority, description, project…) are in [Create a task](/reference/criar-uma-nova-tarefa-ou-problema-para-alguem).
- `type` is `TASK` (task) or `BUG` (bug).
## 3. List tasks with filters and pagination
```bash Terminal
curl -G "https://api.azzimuti.com.br/v1/tasks" \
-H "Authorization: Bearer YOUR_TOKEN" \
--data-urlencode "userExecutorId=ASSIGNEE_ID" \
--data-urlencode "status[]=NOT_STARTED" \
--data-urlencode "status[]=STARTED" \
--data-urlencode "count=50" \
--data-urlencode "page=1"
```
Lists are paginated: `count` sets how many items come per page and `page` picks the page. The response includes a `pagination` field so you know whether there are more pages.
Every filter (search, project, spaces, period, status) is in [List tasks](/reference/listar-todas-as-tarefas-com-filtros).
## Next steps
- Track execution by [starting](/reference/quando-voce-comecar-a-executar-uma-tarefa), [pausing](/reference/quando-voce-quer-pausar-a-execucao-de-uma-tarefa) and [finishing](/reference/quando-voce-quer-finaliza-a-execucao-de-uma-tarefa) a task.
- Group tasks into [projects](/reference/criar-um-novo-projeto).
- Use the documentation with your AI assistant through the [MCP Server](/docs/mcp-server-en).
---
# MCP Server (AI)
Source: https://docs.wiboor.com.br/docs/mcp-server-en
Use the Wiboor documentation with AI assistants
# Use the Wiboor documentation with AI assistants
The Wiboor MCP Server lets AI assistants such as Claude, ChatGPT, Cursor and VS Code query this documentation directly, always up to date: endpoints, parameters, examples and guides.
With it, the assistant answers questions about your integration and writes code based on the official documentation, without you copying and pasting pages.
> 📘 Documentation only
>
> The MCP Server is public and only reads the documentation. It does not access your account, does not use your token and does not call the Wiboor API.
## Connect your assistant to the MCP Server
The MCP Server address is:
```text URL
https://docs.wiboor.com.br/mcp
```
### What the assistant can query
| Tool | What it does |
|---|---|
| `list-specs` | Lists the available OpenAPI specifications |
| `list-endpoints` | Lists every API endpoint |
| `search-endpoints` | Searches endpoints by path, name, parameter or field |
| `get-endpoint` | Returns an endpoint's details: parameters, body, responses and examples |
| `search` | Searches the guides and the reference |
| `fetch` | Reads a documentation page as Markdown |
## Set up the MCP Server
On any documentation page, the menu next to **Copy page** has shortcuts to install it in Cursor and VS Code and to copy the configuration.
### Cursor
Add to `~/.cursor/mcp.json`:
```json mcp.json
{
"mcpServers": {
"wiboor-docs-mcp": {
"url": "https://docs.wiboor.com.br/mcp"
}
}
}
```
### VS Code
Add to the project's `.vscode/mcp.json`:
```json .vscode/mcp.json
{
"servers": {
"wiboor-docs-mcp": {
"type": "http",
"url": "https://docs.wiboor.com.br/mcp"
}
}
}
```
### Claude Code
```bash Terminal
claude mcp add --transport http wiboor-docs-mcp https://docs.wiboor.com.br/mcp
```
### Claude Desktop, ChatGPT and others
Add a remote MCP connector with the URL `https://docs.wiboor.com.br/mcp`. The menu path depends on the app: check its documentation.
## Test the setup
Once connected, ask the assistant something like:
- "How do I create a task with the Wiboor API?"
- "Which fields are required to create a project?"
- "Show me a Node.js example that lists a user's open tasks."
If the answer cites Wiboor endpoints and guides, the MCP Server is working.
## Read the LLMs.txt file
For assistants that don't use MCP, the documentation is also available as text files made for AI:
- [`/llms.txt`](/llms.txt): index of every page.
- [`/llms-full.txt`](/llms-full.txt): the whole documentation in one file.
Every page also has a Markdown version: replace the end of the address with `.md`.
## Report incorrect information
AI assistants can make mistakes. If you find a wrong answer based on this documentation, [open a ticket](https://cefis.com.br/portal/solicitacoes) on our support channel.
## Next steps
- [Authentication](/docs/authentication)
- [First request](/docs/first-request)
---
# Listar todos os espaços que seu usuário está com seus membros
Source: https://docs.wiboor.com.br/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/departments": {
"get": {
"operationId": "PublicDepartmentsController_findAllWithMembers",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentViewModel"
}
}
}
}
}
},
"summary": "Listar todos os espaços que seu usuário está com seus membros",
"tags": [
"Espaços"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Espaços",
"description": "Os espaços (departamentos) de que seu usuário participa e os membros de cada um."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"DepartmentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do Espaço",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do Espaço"
},
"createdAt": {
"type": "string",
"description": "Data de criação do departamento",
"format": "date-time"
},
"users": {
"description": "Informações dos usuários que estão no Espaço",
"type": "array",
"items": {
"$ref": "#/components/schemas/UserViewModel"
}
},
"groups": {
"description": "Sub-espaços do Espaço que seu usuário está",
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentGroupViewModel"
}
}
},
"required": [
"id",
"name",
"createdAt",
"users",
"groups"
]
},
"DepartmentGroupViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do Sub-espaço",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do Sub-espaço"
},
"createdAt": {
"type": "string",
"description": "Data de criação do Sub-espaço",
"format": "date-time"
},
"users": {
"description": "Membros que estão no Sub-espaço",
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentGroupUserViewModel"
}
},
"children": {
"description": "Sub-espaços filhos que seu usuário está",
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentGroupViewModel"
}
}
},
"required": [
"id",
"name",
"createdAt",
"users",
"children"
]
},
"DepartmentGroupUserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"role": {
"type": "string",
"description": "Papel do usuário dentro do Sub-espaço",
"enum": [
"MEMBER",
"MANAGER",
"ADMIN"
]
}
},
"required": [
"id",
"name",
"email",
"role"
]
},
"UserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"createdAt": {
"type": "string",
"description": "Data de criação do usuário",
"format": "date-time"
}
},
"required": [
"id",
"name",
"email",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Criar uma nova tarefa ou problema para alguém
Source: https://docs.wiboor.com.br/reference/criar-uma-nova-tarefa-ou-problema-para-alguem
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks": {
"post": {
"operationId": "PublicTasksController_create",
"parameters": [],
"requestBody": {
"required": true,
"description": "Dados para criação da tarefa ou problema",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTaskInputDTO"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskViewModel"
}
}
}
}
},
"summary": "Criar uma nova tarefa ou problema para alguém",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (1-10)",
"minimum": 1,
"maximum": 10
},
"status": {
"type": "string",
"description": "Status atual",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
},
"spentedTime": {
"type": "integer",
"description": "Tempo gasto executando a tarefa"
},
"title": {
"type": "string",
"description": "Título da tarefa"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante",
"format": "uuid"
},
"userRequester": {
"description": "Informações do usuário solicitante",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor",
"format": "uuid"
},
"userExecutor": {
"description": "Informações do usuário executor",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"description": {
"type": "string",
"description": "Descrição da tarefa",
"nullable": true
},
"endedAt": {
"type": "string",
"description": "Data de término planejada",
"format": "date-time",
"nullable": false
},
"departmentId": {
"type": "string",
"description": "ID do departamento",
"format": "uuid",
"nullable": false
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) ao qual a tarefa pertence",
"format": "uuid",
"nullable": true
},
"finishedAt": {
"type": "string",
"description": "Se a tarefa foi finalizada, será listado a data de finalização",
"format": "date-time",
"nullable": true
},
"pendencies": {
"description": "Se a tarefa tiver uma pendência, será listado o vinculo dessa pendência como por exemplo executar outra tarefa antes de executar essa tarefa",
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskPendencyViewModel"
}
},
"projectId": {
"type": "string",
"description": "ID do projeto",
"format": "uuid",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Data de início planejada",
"format": "date-time"
},
"taskNumber": {
"type": "number",
"description": "Número da tarefa (único)"
},
"type": {
"type": "string",
"description": "Tipo da tarefa (TASK | BUG)",
"enum": [
"TASK",
"BUG"
],
"nullable": false
},
"comments": {
"description": "Comentários da tarefa, retornado apenas quando solicitado via join=comments",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
},
"checklist": {
"description": "Itens do checklist da tarefa, retornado apenas quando solicitado via join=checklist",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
},
"progress": {
"type": "integer",
"description": "Percentual agregado assistido (0-100) quando a tarefa é de curso; atualizado pela CEFIS",
"minimum": 0,
"maximum": 100,
"nullable": true
},
"courses": {
"description": "Cursos da CEFIS vinculados à tarefa (vazio quando não é tarefa de curso)",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCourseViewModel"
}
}
},
"required": [
"id",
"priority",
"status",
"createdAt",
"spentedTime",
"title",
"userRequesterId",
"userRequester",
"userExecutorId",
"userExecutor",
"endedAt",
"departmentId",
"startedAt",
"taskNumber",
"type",
"courses"
]
},
"TaskCourseViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do vínculo tarefa-curso",
"format": "uuid"
},
"courseId": {
"type": "integer",
"description": "ID do curso na CEFIS"
},
"courseTitle": {
"type": "string",
"description": "Título do curso"
},
"courseBanner": {
"type": "string",
"description": "URL do banner do curso",
"nullable": true
},
"workloadMinutes": {
"type": "integer",
"description": "Carga horária do curso em minutos",
"nullable": true
},
"percentWatched": {
"type": "number",
"description": "Percentual assistido do curso (0-100, com até 2 casas decimais)",
"minimum": 0,
"maximum": 100
},
"certificateEmittedAt": {
"type": "string",
"description": "Data de emissão do certificado do curso, quando emitido",
"format": "date-time",
"nullable": true
}
},
"required": [
"id",
"courseId",
"courseTitle",
"percentWatched"
]
},
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"TaskPendencyViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID da pendência",
"nullable": true
},
"taskId": {
"type": "string",
"description": "ID da tarefa (se tiver pendencia de outra tarefa)",
"format": "uuid"
},
"ratingId": {
"type": "string",
"description": "ID da avaliação (se tiver pendencia de uma avaliação)",
"format": "uuid",
"nullable": true
},
"processId": {
"type": "string",
"description": "ID do processo (se tiver pendencia com uma wiki)",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da pendência",
"format": "date-time"
}
},
"required": [
"id",
"createdAt"
]
},
"UserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"createdAt": {
"type": "string",
"description": "Data de criação do usuário",
"format": "date-time"
}
},
"required": [
"id",
"name",
"email",
"createdAt"
]
},
"CreateTaskInputDTO": {
"type": "object",
"properties": {
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor da tarefa (UUID)",
"format": "uuid"
},
"projectId": {
"type": "string",
"description": "ID do projeto associado à tarefa (UUID). Só para `type` TASK: um BUG não pode fazer parte de um projeto (400).",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título da tarefa (string)",
"maxLength": 191
},
"description": {
"type": "string",
"description": "Descrição detalhada da tarefa (string)",
"maxLength": 20000
},
"startedAt": {
"type": "string",
"description": "Data e hora do planejamento para o início da tarefa (ISO 8601)",
"format": "date-time"
},
"endedAt": {
"type": "string",
"description": "Data e hora do planejamento para o término da tarefa (ISO 8601)",
"format": "date-time"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (number, range: 1-10)",
"minimum": 1,
"maximum": 10,
"default": 1
},
"type": {
"type": "string",
"description": "Tipo da tarefa (TASK | BUG)",
"enum": [
"TASK",
"BUG"
],
"default": "TASK"
},
"departmentId": {
"type": "string",
"description": "ID do espaço responsável (UUID)",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do grupo de espaços ao qual a tarefa pertence (UUID)",
"format": "uuid"
},
"checklist": {
"description": "Itens de checklist a serem criados junto com a tarefa",
"type": "array",
"items": {
"$ref": "#/components/schemas/CreateTaskChecklistPublicDto"
}
},
"templateId": {
"type": "string",
"description": "ID do template (UUID) usado para criar a tarefa. Precisa ser um template de tarefa (kind TASK) que você vê (membro ativo do espaço do template); senão, 404 \"Template não encontrado\". Fica registrado como origem da tarefa e só pode ser informado na criação. Obtenha-o em GET /v1/templates.",
"format": "uuid"
}
},
"required": [
"userExecutorId",
"title",
"type"
]
},
"CreateTaskChecklistPublicDto": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Descrição do item do checklist",
"maxLength": 191
}
},
"required": [
"description"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar todas as tarefas com filtros
Source: https://docs.wiboor.com.br/reference/listar-todas-as-tarefas-com-filtros
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks": {
"get": {
"operationId": "PublicTasksController_findAll",
"parameters": [
{
"name": "count",
"required": false,
"in": "query",
"description": "Número de itens por página",
"schema": {
"minimum": 1,
"default": 20,
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"description": "Número da página",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"name": "type",
"required": false,
"in": "query",
"description": "Tipo da tarefa",
"schema": {
"type": "string",
"enum": [
"TASK",
"BUG"
]
}
},
{
"name": "search",
"required": false,
"in": "query",
"description": "Termo de busca no título ou descrição",
"schema": {
"default": "",
"type": "string"
}
},
{
"name": "userExecutorId",
"required": false,
"in": "query",
"description": "ID do usuário executor",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "userRequesterId",
"required": false,
"in": "query",
"description": "ID do usuário solicitante",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "projectId",
"required": false,
"in": "query",
"description": "ID do projeto",
"schema": {
"type": "string"
}
},
{
"name": "status",
"required": false,
"in": "query",
"description": "Status das tarefas para filtrar",
"schema": {
"default": [],
"type": "array",
"items": {
"enum": [
"STARTED",
"FINISHED",
"NOT_STARTED",
"PAUSED"
]
}
}
},
{
"name": "startDate",
"required": false,
"in": "query",
"description": "Data de início para filtrar",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "endDate",
"required": false,
"in": "query",
"description": "Data de fim para filtrar",
"schema": {
"format": "date-time",
"type": "string"
}
},
{
"name": "departmentIds",
"required": false,
"in": "query",
"description": "IDs dos departamentos para filtrar (devem pertencer aos seus departamentos)",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "departmentGroupIds",
"required": false,
"in": "query",
"description": "IDs dos grupos de espaço para filtrar",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "join",
"required": false,
"in": "query",
"description": "Relações para incluir em cada tarefa na resposta (comments e/ou checklist)",
"schema": {
"default": [],
"type": "array",
"items": {
"enum": [
"comments",
"checklist"
]
}
}
}
],
"responses": {
"200": {
"description": "Lista de tarefas retornada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedTaskViewModel"
}
}
}
}
},
"summary": "Listar todas as tarefas com filtros",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedTaskViewModel": {
"type": "object",
"properties": {
"data": {
"description": "Dados das tarefas",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskViewModel"
}
},
"pagination": {
"description": "Informações de paginação",
"allOf": [
{
"$ref": "#/components/schemas/PaginationMetaDto"
}
]
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"TaskViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (1-10)",
"minimum": 1,
"maximum": 10
},
"status": {
"type": "string",
"description": "Status atual",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
},
"spentedTime": {
"type": "integer",
"description": "Tempo gasto executando a tarefa"
},
"title": {
"type": "string",
"description": "Título da tarefa"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante",
"format": "uuid"
},
"userRequester": {
"description": "Informações do usuário solicitante",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor",
"format": "uuid"
},
"userExecutor": {
"description": "Informações do usuário executor",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"description": {
"type": "string",
"description": "Descrição da tarefa",
"nullable": true
},
"endedAt": {
"type": "string",
"description": "Data de término planejada",
"format": "date-time",
"nullable": false
},
"departmentId": {
"type": "string",
"description": "ID do departamento",
"format": "uuid",
"nullable": false
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) ao qual a tarefa pertence",
"format": "uuid",
"nullable": true
},
"finishedAt": {
"type": "string",
"description": "Se a tarefa foi finalizada, será listado a data de finalização",
"format": "date-time",
"nullable": true
},
"pendencies": {
"description": "Se a tarefa tiver uma pendência, será listado o vinculo dessa pendência como por exemplo executar outra tarefa antes de executar essa tarefa",
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskPendencyViewModel"
}
},
"projectId": {
"type": "string",
"description": "ID do projeto",
"format": "uuid",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Data de início planejada",
"format": "date-time"
},
"taskNumber": {
"type": "number",
"description": "Número da tarefa (único)"
},
"type": {
"type": "string",
"description": "Tipo da tarefa (TASK | BUG)",
"enum": [
"TASK",
"BUG"
],
"nullable": false
},
"comments": {
"description": "Comentários da tarefa, retornado apenas quando solicitado via join=comments",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
},
"checklist": {
"description": "Itens do checklist da tarefa, retornado apenas quando solicitado via join=checklist",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
},
"progress": {
"type": "integer",
"description": "Percentual agregado assistido (0-100) quando a tarefa é de curso; atualizado pela CEFIS",
"minimum": 0,
"maximum": 100,
"nullable": true
},
"courses": {
"description": "Cursos da CEFIS vinculados à tarefa (vazio quando não é tarefa de curso)",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCourseViewModel"
}
}
},
"required": [
"id",
"priority",
"status",
"createdAt",
"spentedTime",
"title",
"userRequesterId",
"userRequester",
"userExecutorId",
"userExecutor",
"endedAt",
"departmentId",
"startedAt",
"taskNumber",
"type",
"courses"
]
},
"TaskCourseViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do vínculo tarefa-curso",
"format": "uuid"
},
"courseId": {
"type": "integer",
"description": "ID do curso na CEFIS"
},
"courseTitle": {
"type": "string",
"description": "Título do curso"
},
"courseBanner": {
"type": "string",
"description": "URL do banner do curso",
"nullable": true
},
"workloadMinutes": {
"type": "integer",
"description": "Carga horária do curso em minutos",
"nullable": true
},
"percentWatched": {
"type": "number",
"description": "Percentual assistido do curso (0-100, com até 2 casas decimais)",
"minimum": 0,
"maximum": 100
},
"certificateEmittedAt": {
"type": "string",
"description": "Data de emissão do certificado do curso, quando emitido",
"format": "date-time",
"nullable": true
}
},
"required": [
"id",
"courseId",
"courseTitle",
"percentWatched"
]
},
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"TaskPendencyViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID da pendência",
"nullable": true
},
"taskId": {
"type": "string",
"description": "ID da tarefa (se tiver pendencia de outra tarefa)",
"format": "uuid"
},
"ratingId": {
"type": "string",
"description": "ID da avaliação (se tiver pendencia de uma avaliação)",
"format": "uuid",
"nullable": true
},
"processId": {
"type": "string",
"description": "ID do processo (se tiver pendencia com uma wiki)",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da pendência",
"format": "date-time"
}
},
"required": [
"id",
"createdAt"
]
},
"UserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"createdAt": {
"type": "string",
"description": "Data de criação do usuário",
"format": "date-time"
}
},
"required": [
"id",
"name",
"email",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar uma tarefa por ID
Source: https://docs.wiboor.com.br/reference/buscar-uma-tarefa-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}": {
"get": {
"operationId": "PublicTasksController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tarefa encontrada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskViewModel"
}
}
}
}
},
"summary": "Buscar uma tarefa por ID",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (1-10)",
"minimum": 1,
"maximum": 10
},
"status": {
"type": "string",
"description": "Status atual",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
},
"spentedTime": {
"type": "integer",
"description": "Tempo gasto executando a tarefa"
},
"title": {
"type": "string",
"description": "Título da tarefa"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante",
"format": "uuid"
},
"userRequester": {
"description": "Informações do usuário solicitante",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor",
"format": "uuid"
},
"userExecutor": {
"description": "Informações do usuário executor",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"description": {
"type": "string",
"description": "Descrição da tarefa",
"nullable": true
},
"endedAt": {
"type": "string",
"description": "Data de término planejada",
"format": "date-time",
"nullable": false
},
"departmentId": {
"type": "string",
"description": "ID do departamento",
"format": "uuid",
"nullable": false
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) ao qual a tarefa pertence",
"format": "uuid",
"nullable": true
},
"finishedAt": {
"type": "string",
"description": "Se a tarefa foi finalizada, será listado a data de finalização",
"format": "date-time",
"nullable": true
},
"pendencies": {
"description": "Se a tarefa tiver uma pendência, será listado o vinculo dessa pendência como por exemplo executar outra tarefa antes de executar essa tarefa",
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskPendencyViewModel"
}
},
"projectId": {
"type": "string",
"description": "ID do projeto",
"format": "uuid",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Data de início planejada",
"format": "date-time"
},
"taskNumber": {
"type": "number",
"description": "Número da tarefa (único)"
},
"type": {
"type": "string",
"description": "Tipo da tarefa (TASK | BUG)",
"enum": [
"TASK",
"BUG"
],
"nullable": false
},
"comments": {
"description": "Comentários da tarefa, retornado apenas quando solicitado via join=comments",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
},
"checklist": {
"description": "Itens do checklist da tarefa, retornado apenas quando solicitado via join=checklist",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
},
"progress": {
"type": "integer",
"description": "Percentual agregado assistido (0-100) quando a tarefa é de curso; atualizado pela CEFIS",
"minimum": 0,
"maximum": 100,
"nullable": true
},
"courses": {
"description": "Cursos da CEFIS vinculados à tarefa (vazio quando não é tarefa de curso)",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCourseViewModel"
}
}
},
"required": [
"id",
"priority",
"status",
"createdAt",
"spentedTime",
"title",
"userRequesterId",
"userRequester",
"userExecutorId",
"userExecutor",
"endedAt",
"departmentId",
"startedAt",
"taskNumber",
"type",
"courses"
]
},
"TaskCourseViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do vínculo tarefa-curso",
"format": "uuid"
},
"courseId": {
"type": "integer",
"description": "ID do curso na CEFIS"
},
"courseTitle": {
"type": "string",
"description": "Título do curso"
},
"courseBanner": {
"type": "string",
"description": "URL do banner do curso",
"nullable": true
},
"workloadMinutes": {
"type": "integer",
"description": "Carga horária do curso em minutos",
"nullable": true
},
"percentWatched": {
"type": "number",
"description": "Percentual assistido do curso (0-100, com até 2 casas decimais)",
"minimum": 0,
"maximum": 100
},
"certificateEmittedAt": {
"type": "string",
"description": "Data de emissão do certificado do curso, quando emitido",
"format": "date-time",
"nullable": true
}
},
"required": [
"id",
"courseId",
"courseTitle",
"percentWatched"
]
},
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"TaskPendencyViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID da pendência",
"nullable": true
},
"taskId": {
"type": "string",
"description": "ID da tarefa (se tiver pendencia de outra tarefa)",
"format": "uuid"
},
"ratingId": {
"type": "string",
"description": "ID da avaliação (se tiver pendencia de uma avaliação)",
"format": "uuid",
"nullable": true
},
"processId": {
"type": "string",
"description": "ID do processo (se tiver pendencia com uma wiki)",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da pendência",
"format": "date-time"
}
},
"required": [
"id",
"createdAt"
]
},
"UserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"createdAt": {
"type": "string",
"description": "Data de criação do usuário",
"format": "date-time"
}
},
"required": [
"id",
"name",
"email",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Atualizar uma tarefa
Source: https://docs.wiboor.com.br/reference/atualizar-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}": {
"put": {
"operationId": "PublicTasksController_update",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados para atualização da tarefa",
"content": {
"application/json": {
"schema": {
"title": "Body",
"description": "Dados da tarefa",
"$ref": "#/components/schemas/UpdateTaskPublicDto"
}
}
}
},
"responses": {
"200": {
"description": "Tarefa atualizada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskViewModel"
}
}
}
}
},
"summary": "Atualizar uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (1-10)",
"minimum": 1,
"maximum": 10
},
"status": {
"type": "string",
"description": "Status atual",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
},
"spentedTime": {
"type": "integer",
"description": "Tempo gasto executando a tarefa"
},
"title": {
"type": "string",
"description": "Título da tarefa"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante",
"format": "uuid"
},
"userRequester": {
"description": "Informações do usuário solicitante",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor",
"format": "uuid"
},
"userExecutor": {
"description": "Informações do usuário executor",
"allOf": [
{
"$ref": "#/components/schemas/UserViewModel"
}
]
},
"description": {
"type": "string",
"description": "Descrição da tarefa",
"nullable": true
},
"endedAt": {
"type": "string",
"description": "Data de término planejada",
"format": "date-time",
"nullable": false
},
"departmentId": {
"type": "string",
"description": "ID do departamento",
"format": "uuid",
"nullable": false
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) ao qual a tarefa pertence",
"format": "uuid",
"nullable": true
},
"finishedAt": {
"type": "string",
"description": "Se a tarefa foi finalizada, será listado a data de finalização",
"format": "date-time",
"nullable": true
},
"pendencies": {
"description": "Se a tarefa tiver uma pendência, será listado o vinculo dessa pendência como por exemplo executar outra tarefa antes de executar essa tarefa",
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskPendencyViewModel"
}
},
"projectId": {
"type": "string",
"description": "ID do projeto",
"format": "uuid",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Data de início planejada",
"format": "date-time"
},
"taskNumber": {
"type": "number",
"description": "Número da tarefa (único)"
},
"type": {
"type": "string",
"description": "Tipo da tarefa (TASK | BUG)",
"enum": [
"TASK",
"BUG"
],
"nullable": false
},
"comments": {
"description": "Comentários da tarefa, retornado apenas quando solicitado via join=comments",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
},
"checklist": {
"description": "Itens do checklist da tarefa, retornado apenas quando solicitado via join=checklist",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
},
"progress": {
"type": "integer",
"description": "Percentual agregado assistido (0-100) quando a tarefa é de curso; atualizado pela CEFIS",
"minimum": 0,
"maximum": 100,
"nullable": true
},
"courses": {
"description": "Cursos da CEFIS vinculados à tarefa (vazio quando não é tarefa de curso)",
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskCourseViewModel"
}
}
},
"required": [
"id",
"priority",
"status",
"createdAt",
"spentedTime",
"title",
"userRequesterId",
"userRequester",
"userExecutorId",
"userExecutor",
"endedAt",
"departmentId",
"startedAt",
"taskNumber",
"type",
"courses"
]
},
"TaskCourseViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do vínculo tarefa-curso",
"format": "uuid"
},
"courseId": {
"type": "integer",
"description": "ID do curso na CEFIS"
},
"courseTitle": {
"type": "string",
"description": "Título do curso"
},
"courseBanner": {
"type": "string",
"description": "URL do banner do curso",
"nullable": true
},
"workloadMinutes": {
"type": "integer",
"description": "Carga horária do curso em minutos",
"nullable": true
},
"percentWatched": {
"type": "number",
"description": "Percentual assistido do curso (0-100, com até 2 casas decimais)",
"minimum": 0,
"maximum": 100
},
"certificateEmittedAt": {
"type": "string",
"description": "Data de emissão do certificado do curso, quando emitido",
"format": "date-time",
"nullable": true
}
},
"required": [
"id",
"courseId",
"courseTitle",
"percentWatched"
]
},
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"TaskPendencyViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID da pendência",
"nullable": true
},
"taskId": {
"type": "string",
"description": "ID da tarefa (se tiver pendencia de outra tarefa)",
"format": "uuid"
},
"ratingId": {
"type": "string",
"description": "ID da avaliação (se tiver pendencia de uma avaliação)",
"format": "uuid",
"nullable": true
},
"processId": {
"type": "string",
"description": "ID do processo (se tiver pendencia com uma wiki)",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da pendência",
"format": "date-time"
}
},
"required": [
"id",
"createdAt"
]
},
"UserViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do usuário",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do usuário"
},
"email": {
"type": "string",
"description": "Email do usuário",
"format": "email"
},
"createdAt": {
"type": "string",
"description": "Data de criação do usuário",
"format": "date-time"
}
},
"required": [
"id",
"name",
"email",
"createdAt"
]
},
"UpdateTaskPublicDto": {
"type": "object",
"properties": {
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor da tarefa (UUID)",
"format": "uuid"
},
"projectId": {
"type": "string",
"description": "ID do projeto associado à tarefa (UUID). Só para `type` TASK: um BUG não pode fazer parte de um projeto (400).",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título da tarefa (string)",
"maxLength": 191
},
"description": {
"type": "string",
"description": "Descrição detalhada da tarefa (string)",
"maxLength": 20000
},
"startedAt": {
"type": "string",
"description": "Data e hora do planejamento para o início da tarefa (ISO 8601)",
"format": "date-time"
},
"endedAt": {
"type": "string",
"description": "Data e hora do planejamento para o término da tarefa (ISO 8601)",
"format": "date-time"
},
"priority": {
"type": "number",
"description": "Prioridade da tarefa (number, range: 1-10)",
"minimum": 1,
"maximum": 10
},
"departmentId": {
"type": "string",
"description": "ID do espaço responsável (UUID). Omitir mantém o espaço atual; enviar null é recusado, porque toda tarefa precisa de um espaço.",
"format": "uuid"
}
},
"required": [
"userExecutorId",
"title"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Excluir uma tarefa
Source: https://docs.wiboor.com.br/reference/excluir-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}": {
"delete": {
"operationId": "PublicTasksController_remove",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Tarefa excluída com sucesso"
}
},
"summary": "Excluir uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Quando você começar a executar uma tarefa
Source: https://docs.wiboor.com.br/reference/quando-voce-comecar-a-executar-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}/start": {
"post": {
"operationId": "PublicTasksController_startTask",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tarefa iniciada com sucesso"
}
},
"summary": "Quando você começar a executar uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Quando você quer pausar a execução de uma tarefa
Source: https://docs.wiboor.com.br/reference/quando-voce-quer-pausar-a-execucao-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}/pause": {
"post": {
"operationId": "PublicTasksController_pauseTask",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tarefa pausada com sucesso"
}
},
"summary": "Quando você quer pausar a execução de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Quando você quer finaliza a execução de uma tarefa
Source: https://docs.wiboor.com.br/reference/quando-voce-quer-finaliza-a-execucao-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}/end": {
"post": {
"operationId": "PublicTasksController_endTask",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tarefa finalizada com sucesso"
}
},
"summary": "Quando você quer finaliza a execução de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Enviar um comentário em uma tarefa
Source: https://docs.wiboor.com.br/reference/enviar-um-comentario-em-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}/comments": {
"post": {
"operationId": "PublicTasksController_createComment",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados do comentário",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTaskCommentPublicDto"
}
}
}
},
"responses": {
"201": {
"description": "Comentário criado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
}
}
}
},
"summary": "Enviar um comentário em uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"CreateTaskCommentPublicDto": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Texto do comentário"
}
},
"required": [
"message"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Editar um comentário de uma tarefa
Source: https://docs.wiboor.com.br/reference/editar-um-comentario-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/comments/{commentId}": {
"put": {
"operationId": "PublicTasksController_updateComment",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "commentId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
"required": true,
"description": "Novo texto do comentário",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTaskCommentPublicDto"
}
}
}
},
"responses": {
"200": {
"description": "Comentário atualizado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskCommentViewModel"
}
}
}
},
"400": {
"description": "Texto inválido ou comentário de outro usuário"
},
"404": {
"description": "Tarefa ou comentário não encontrado"
}
},
"summary": "Editar um comentário de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskCommentViewModel": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID único do comentário"
},
"message": {
"type": "string",
"description": "Texto do comentário"
},
"userId": {
"type": "string",
"description": "ID do usuário autor do comentário",
"format": "uuid"
},
"isEdited": {
"type": "boolean",
"description": "Indica se o comentário foi editado"
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"message",
"userId",
"isEdited",
"createdAt"
]
},
"UpdateTaskCommentPublicDto": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Novo texto do comentário"
}
},
"required": [
"message"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Remover um comentário de uma tarefa
Source: https://docs.wiboor.com.br/reference/remover-um-comentario-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/comments/{commentId}": {
"delete": {
"operationId": "PublicTasksController_removeComment",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "commentId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"204": {
"description": "Comentário removido com sucesso"
},
"400": {
"description": "Comentário de outro usuário"
},
"404": {
"description": "Tarefa ou comentário não encontrado"
}
},
"summary": "Remover um comentário de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Criar um item de checklist em uma tarefa
Source: https://docs.wiboor.com.br/reference/criar-um-item-de-checklist-em-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{id}/checklist": {
"post": {
"operationId": "PublicTasksController_createChecklistItem",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados do item de checklist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTaskChecklistPublicDto"
}
}
}
},
"responses": {
"201": {
"description": "Item de checklist criado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
}
}
}
},
"summary": "Criar um item de checklist em uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"CreateTaskChecklistPublicDto": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Descrição do item do checklist",
"maxLength": 191
}
},
"required": [
"description"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Marcar um item do checklist de uma tarefa
Source: https://docs.wiboor.com.br/reference/marcar-um-item-do-checklist-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/checklist/{checklistId}/check": {
"post": {
"operationId": "PublicTasksController_checkChecklistItem",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "checklistId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Item do checklist marcado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
}
}
}
},
"summary": "Marcar um item do checklist de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Desmarcar um item do checklist de uma tarefa
Source: https://docs.wiboor.com.br/reference/desmarcar-um-item-do-checklist-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/checklist/{checklistId}/uncheck": {
"post": {
"operationId": "PublicTasksController_uncheckChecklistItem",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "checklistId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Item do checklist desmarcado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
}
}
}
},
"summary": "Desmarcar um item do checklist de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Editar a descrição de um item do checklist
Source: https://docs.wiboor.com.br/reference/editar-a-descricao-de-um-item-do-checklist
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/checklist/{checklistId}": {
"put": {
"operationId": "PublicTasksController_updateChecklistItem",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "checklistId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Nova descrição do item de checklist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTaskChecklistPublicDto"
}
}
}
},
"responses": {
"200": {
"description": "Item do checklist atualizado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskChecklistItemViewModel"
}
}
}
},
"400": {
"description": "Descrição inválida"
},
"403": {
"description": "Somente o criador do item pode editá-lo"
},
"404": {
"description": "Tarefa ou item de checklist não encontrado"
}
},
"summary": "Editar a descrição de um item do checklist",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TaskChecklistItemViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do item do checklist",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição do item"
},
"status": {
"type": "string",
"description": "Status do item",
"enum": [
"UNCHECKED",
"CHECKED"
]
},
"parentId": {
"type": "string",
"description": "ID do grupo ao qual o item pertence; null se solto",
"format": "uuid",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação",
"format": "date-time"
}
},
"required": [
"id",
"description",
"status",
"parentId",
"createdAt"
]
},
"UpdateTaskChecklistPublicDto": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Nova descrição do item do checklist",
"maxLength": 191
}
},
"required": [
"description"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Remover um item do checklist de uma tarefa
Source: https://docs.wiboor.com.br/reference/remover-um-item-do-checklist-de-uma-tarefa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/tasks/{taskId}/checklist/{checklistId}": {
"delete": {
"operationId": "PublicTasksController_removeChecklistItem",
"parameters": [
{
"name": "taskId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "checklistId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Item do checklist removido com sucesso"
},
"403": {
"description": "Somente o criador ou um gestor pode remover o item"
},
"404": {
"description": "Tarefa ou item de checklist não encontrado"
}
},
"summary": "Remover um item do checklist de uma tarefa",
"tags": [
"Tarefas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Tarefas",
"description": "Tarefas e problemas: criação, execução com controle de tempo, comentários e checklist."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Criar um novo projeto
Source: https://docs.wiboor.com.br/reference/criar-um-novo-projeto
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects": {
"post": {
"operationId": "PublicProjectsController_create",
"parameters": [],
"requestBody": {
"required": true,
"description": "Dados para criação do projeto",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateProjectDTO"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectViewModel"
}
}
}
}
},
"summary": "Criar um novo projeto",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProjectViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do projeto",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"projectNumber": {
"type": "number",
"description": "Número do projeto (único)"
},
"createdAt": {
"type": "string",
"description": "Data de criação do projeto",
"format": "date-time"
},
"status": {
"type": "string",
"description": "Status do projeto",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor do projeto",
"format": "uuid"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante do projeto",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto"
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"endedAt": {
"type": "string",
"description": "Data do planejamento do término do projeto",
"format": "date-time"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto para ser fechado"
},
"finishedAt": {
"type": "string",
"description": "Data do término do projeto",
"format": "date-time"
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário revisor do projeto",
"format": "uuid"
},
"departmentId": {
"type": "string",
"description": "ID do departamento do projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"id",
"title",
"projectNumber",
"createdAt",
"status",
"userExecutorId",
"userRequesterId",
"priority",
"description",
"endedAt",
"isReadyToClose",
"finishedAt",
"departmentId",
"tasks"
]
},
"CreateProjectDTO": {
"type": "object",
"properties": {
"userExecutorId": {
"type": "string",
"description": "ID do usuário líder do projeto (UUID)",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto (1 sendo menor prioridade e 10 sendo maior prioridade)",
"minimum": 1,
"maximum": 10
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"endedAt": {
"type": "string",
"description": "Data de planejamento para o término do projeto",
"format": "date-time"
},
"departmentId": {
"type": "string",
"description": "ID do espaço responsável pelo projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) responsável pelo projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas que serão associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
},
"openReview": {
"type": "boolean",
"description": "Se o projeto deve gerar uma avaliação quando concluído"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto(se todas as tarefas foram especificadas) para ser fechado automaticamente ao finalizas todas as tarefas "
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário que irá realizar a avaliação do projeto, só é obrigatório se o projeto deve gerar uma avaliação quando concluído",
"format": "uuid"
},
"templateId": {
"type": "string",
"description": "ID do template (UUID) usado para criar o projeto. Precisa ser um template de projeto (kind PROJECT) que você vê (membro ativo do espaço do template); senão, 404 \"Template não encontrado\". Fica registrado como origem do projeto e só pode ser informado na criação. Obtenha-o em GET /v1/templates.",
"format": "uuid"
}
},
"required": [
"userExecutorId",
"priority",
"description",
"title",
"endedAt",
"departmentId",
"tasks",
"openReview",
"isReadyToClose",
"userReviewerId"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar todos os projetos
Source: https://docs.wiboor.com.br/reference/listar-todos-os-projetos
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects": {
"get": {
"operationId": "PublicProjectsController_findAll",
"parameters": [
{
"name": "count",
"required": false,
"in": "query",
"description": "Número de itens por página",
"schema": {
"minimum": 1,
"maximum": 50,
"default": 10,
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"description": "Número da página",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"name": "order",
"required": false,
"in": "query",
"description": "Campo para ordenação",
"schema": {
"default": "createdAt",
"type": "string",
"enum": [
"title",
"status",
"createdAt",
"endedAt",
"department",
"priority",
"userExecutor"
]
}
},
{
"name": "orderDirection",
"required": false,
"in": "query",
"description": "Direção da ordenação",
"schema": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
{
"name": "search",
"required": false,
"in": "query",
"description": "Termo de busca no título ou descrição",
"schema": {
"default": "",
"type": "string"
}
},
{
"name": "userExecutorId",
"required": false,
"in": "query",
"description": "ID do usuário executor",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"name": "status",
"required": false,
"in": "query",
"description": "Status do projeto",
"schema": {
"default": "PENDING",
"type": "string",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
}
},
{
"name": "departmentId",
"required": false,
"in": "query",
"description": "ID do departamento",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"description": "Número de itens por página",
"required": false,
"name": "count",
"in": "query",
"schema": {
"minimum": 1,
"maximum": 50,
"default": 10,
"type": "number"
}
},
{
"description": "Número da página",
"required": false,
"name": "page",
"in": "query",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"description": "Campo para ordenação",
"required": false,
"name": "order",
"in": "query",
"schema": {
"default": "createdAt",
"type": "string"
}
},
{
"description": "Direção da ordenação",
"required": false,
"name": "orderDirection",
"in": "query",
"schema": {
"default": "asc",
"type": "string"
}
},
{
"description": "Termo de busca no título ou descrição",
"required": false,
"name": "search",
"in": "query",
"schema": {
"default": "",
"type": "string"
}
},
{
"description": "ID do usuário executor",
"required": false,
"name": "userExecutorId",
"in": "query",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"description": "Status do projeto",
"required": false,
"name": "status",
"in": "query",
"schema": {
"default": "PENDING",
"type": "string"
}
},
{
"description": "ID do departamento",
"required": false,
"name": "departmentId",
"in": "query",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Lista de projetos retornada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedProjectViewModel"
}
}
}
}
},
"summary": "Listar todos os projetos",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedProjectViewModel": {
"type": "object",
"properties": {
"data": {
"description": "Dados dos projetos",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectViewModel"
}
},
"pagination": {
"description": "Informações de paginação",
"allOf": [
{
"$ref": "#/components/schemas/PaginationMetaDto"
}
]
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"ProjectViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do projeto",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"projectNumber": {
"type": "number",
"description": "Número do projeto (único)"
},
"createdAt": {
"type": "string",
"description": "Data de criação do projeto",
"format": "date-time"
},
"status": {
"type": "string",
"description": "Status do projeto",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor do projeto",
"format": "uuid"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante do projeto",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto"
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"endedAt": {
"type": "string",
"description": "Data do planejamento do término do projeto",
"format": "date-time"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto para ser fechado"
},
"finishedAt": {
"type": "string",
"description": "Data do término do projeto",
"format": "date-time"
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário revisor do projeto",
"format": "uuid"
},
"departmentId": {
"type": "string",
"description": "ID do departamento do projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"id",
"title",
"projectNumber",
"createdAt",
"status",
"userExecutorId",
"userRequesterId",
"priority",
"description",
"endedAt",
"isReadyToClose",
"finishedAt",
"departmentId",
"tasks"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar um projeto por ID
Source: https://docs.wiboor.com.br/reference/buscar-um-projeto-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects/{id}": {
"get": {
"operationId": "PublicProjectsController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID do projeto",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Projeto encontrado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectViewModel"
}
}
}
}
},
"summary": "Buscar um projeto por ID",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProjectViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do projeto",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"projectNumber": {
"type": "number",
"description": "Número do projeto (único)"
},
"createdAt": {
"type": "string",
"description": "Data de criação do projeto",
"format": "date-time"
},
"status": {
"type": "string",
"description": "Status do projeto",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor do projeto",
"format": "uuid"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante do projeto",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto"
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"endedAt": {
"type": "string",
"description": "Data do planejamento do término do projeto",
"format": "date-time"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto para ser fechado"
},
"finishedAt": {
"type": "string",
"description": "Data do término do projeto",
"format": "date-time"
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário revisor do projeto",
"format": "uuid"
},
"departmentId": {
"type": "string",
"description": "ID do departamento do projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"id",
"title",
"projectNumber",
"createdAt",
"status",
"userExecutorId",
"userRequesterId",
"priority",
"description",
"endedAt",
"isReadyToClose",
"finishedAt",
"departmentId",
"tasks"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Atualizar um projeto por ID
Source: https://docs.wiboor.com.br/reference/atualizar-um-projeto-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects/{id}": {
"put": {
"operationId": "PublicProjectsController_update",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID do projeto",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados para atualização do projeto",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateProjectDTO"
}
}
}
},
"responses": {
"200": {
"description": "Projeto atualizado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectViewModel"
}
}
}
}
},
"summary": "Atualizar um projeto por ID",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProjectViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do projeto",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"projectNumber": {
"type": "number",
"description": "Número do projeto (único)"
},
"createdAt": {
"type": "string",
"description": "Data de criação do projeto",
"format": "date-time"
},
"status": {
"type": "string",
"description": "Status do projeto",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor do projeto",
"format": "uuid"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante do projeto",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto"
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"endedAt": {
"type": "string",
"description": "Data do planejamento do término do projeto",
"format": "date-time"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto para ser fechado"
},
"finishedAt": {
"type": "string",
"description": "Data do término do projeto",
"format": "date-time"
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário revisor do projeto",
"format": "uuid"
},
"departmentId": {
"type": "string",
"description": "ID do departamento do projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"id",
"title",
"projectNumber",
"createdAt",
"status",
"userExecutorId",
"userRequesterId",
"priority",
"description",
"endedAt",
"isReadyToClose",
"finishedAt",
"departmentId",
"tasks"
]
},
"UpdateProjectDTO": {
"type": "object",
"properties": {
"userExecutorId": {
"type": "string",
"description": "ID do usuário líder do projeto (UUID)",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto (1 sendo menor prioridade e 10 sendo maior prioridade)",
"minimum": 1,
"maximum": 10
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"endedAt": {
"type": "string",
"description": "Data de planejamento para o término do projeto",
"format": "date-time"
},
"departmentId": {
"type": "string",
"description": "ID do espaço responsável pelo projeto",
"format": "uuid"
},
"tasks": {
"type": "array",
"description": "IDs das tarefas que serão associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
},
"openReview": {
"type": "boolean",
"description": "Se o projeto deve gerar uma avaliação quando concluído"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto(se todas as tarefas foram especificadas) para ser fechado automaticamente ao finalizas todas as tarefas "
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário que irá realizar a avaliação do projeto, só é obrigatório se o projeto deve gerar uma avaliação quando concluído",
"format": "uuid"
}
},
"required": [
"userExecutorId",
"priority",
"description",
"title",
"endedAt",
"departmentId",
"tasks",
"openReview",
"isReadyToClose",
"userReviewerId"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Deletar um projeto por ID
Source: https://docs.wiboor.com.br/reference/deletar-um-projeto-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects/{id}": {
"delete": {
"operationId": "PublicProjectsController_remove",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID do projeto",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "deleteTasks",
"required": false,
"in": "query",
"description": "true: exclui junto as tarefas não finalizadas. As que sobrevivem ficam desvinculadas do projeto. Padrão: nenhuma tarefa é excluída.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"204": {
"description": "Projeto deletado com sucesso"
}
},
"summary": "Deletar um projeto por ID",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Vincular uma tarefa a um projeto por ID
Source: https://docs.wiboor.com.br/reference/vincular-uma-tarefa-a-um-projeto-por-id
Só tarefas do tipo TASK: um BUG não pode fazer parte de um projeto.
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/projects/{projectId}/attach/tasks/{taskId}": {
"post": {
"description": "Só tarefas do tipo TASK: um BUG não pode fazer parte de um projeto.",
"operationId": "PublicProjectsController_attachTaskToProject",
"parameters": [
{
"name": "projectId",
"required": true,
"in": "path",
"description": "ID do projeto",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "taskId",
"required": true,
"in": "path",
"description": "ID da tarefa",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tarefa vinculada ao projeto com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectViewModel"
}
}
}
},
"400": {
"description": "A tarefa é um BUG e não pode fazer parte de um projeto"
}
},
"summary": "Vincular uma tarefa a um projeto por ID",
"tags": [
"Projetos"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Projetos",
"description": "Projetos que agrupam tarefas, com responsável, revisor e prazo."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProjectViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID único do projeto",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Título do projeto"
},
"projectNumber": {
"type": "number",
"description": "Número do projeto (único)"
},
"createdAt": {
"type": "string",
"description": "Data de criação do projeto",
"format": "date-time"
},
"status": {
"type": "string",
"description": "Status do projeto",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"userExecutorId": {
"type": "string",
"description": "ID do usuário executor do projeto",
"format": "uuid"
},
"userRequesterId": {
"type": "string",
"description": "ID do usuário solicitante do projeto",
"format": "uuid"
},
"priority": {
"type": "number",
"description": "Prioridade do projeto"
},
"description": {
"type": "string",
"description": "Descrição do projeto"
},
"endedAt": {
"type": "string",
"description": "Data do planejamento do término do projeto",
"format": "date-time"
},
"isReadyToClose": {
"type": "boolean",
"description": "Se o projeto está pronto para ser fechado"
},
"finishedAt": {
"type": "string",
"description": "Data do término do projeto",
"format": "date-time"
},
"userReviewerId": {
"type": "string",
"description": "ID do usuário revisor do projeto",
"format": "uuid"
},
"departmentId": {
"type": "string",
"description": "ID do departamento do projeto",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do projeto",
"format": "uuid",
"nullable": true
},
"tasks": {
"type": "array",
"description": "IDs das tarefas associadas ao projeto",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"id",
"title",
"projectNumber",
"createdAt",
"status",
"userExecutorId",
"userRequesterId",
"priority",
"description",
"endedAt",
"isReadyToClose",
"finishedAt",
"departmentId",
"tasks"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Criar uma nova ideia
Source: https://docs.wiboor.com.br/reference/criar-uma-nova-ideia
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas": {
"post": {
"operationId": "PublicIdeaController_create",
"parameters": [],
"requestBody": {
"required": true,
"description": "Dados para criação da ideia",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicCreateIdeaDTO"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IdeaViewModel"
}
}
}
}
},
"summary": "Criar uma nova ideia",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"IdeaViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da ideia",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"ideaNumber": {
"type": "number",
"description": "Número da ideia (único)"
},
"status": {
"type": "string",
"description": "Status da ideia (NOT_STARTED | STARTED | CANCELED | FINISHED)",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"departmentId": {
"type": "string",
"description": "Identificador do departamento",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da ideia",
"format": "date-time"
}
},
"required": [
"id",
"description",
"ideaNumber",
"status",
"departmentId",
"createdAt"
]
},
"PublicCreateIdeaDTO": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"departmentId": {
"type": "string",
"description": "Identificador do espaço de trabalho",
"format": "uuid"
}
},
"required": [
"description",
"departmentId"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar todas as ideias com filtros
Source: https://docs.wiboor.com.br/reference/listar-todas-as-ideias-com-filtros
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas": {
"get": {
"operationId": "PublicIdeaController_findAll",
"parameters": [
{
"name": "count",
"required": false,
"in": "query",
"description": "Número de itens por página",
"schema": {
"minimum": 1,
"maximum": 50,
"default": 10,
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"description": "Número da página",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"name": "order",
"required": false,
"in": "query",
"description": "Campo para ordenação",
"schema": {
"default": "ideaNumber",
"type": "string",
"enum": [
"description",
"createdAt",
"ideaNumber"
]
}
},
{
"name": "orderDirection",
"required": false,
"in": "query",
"description": "Direção da ordenação",
"schema": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
{
"name": "search",
"required": false,
"in": "query",
"description": "Termo de busca na descrição",
"schema": {
"default": "",
"type": "string"
}
},
{
"name": "status",
"required": false,
"in": "query",
"description": "Status da ideia",
"schema": {
"default": null,
"type": "string",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
}
},
{
"name": "userId",
"required": false,
"in": "query",
"description": "ID do usuário criador da ideia",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"name": "departmentId",
"required": false,
"in": "query",
"description": "ID do espaço de trabalho da ideia",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"description": "Número de itens por página",
"required": false,
"name": "count",
"in": "query",
"schema": {
"minimum": 1,
"maximum": 50,
"default": 10,
"type": "number"
}
},
{
"description": "Número da página",
"required": false,
"name": "page",
"in": "query",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"description": "Campo para ordenação",
"required": false,
"name": "order",
"in": "query",
"schema": {
"default": "ideaNumber",
"type": "string"
}
},
{
"description": "Direção da ordenação",
"required": false,
"name": "orderDirection",
"in": "query",
"schema": {
"default": "asc",
"type": "string"
}
},
{
"description": "Termo de busca na descrição",
"required": false,
"name": "search",
"in": "query",
"schema": {
"default": "",
"type": "string"
}
},
{
"description": "Status da ideia",
"required": false,
"name": "status",
"in": "query",
"schema": {
"default": null,
"type": "string"
}
},
{
"description": "ID do usuário criador da ideia",
"required": false,
"name": "userId",
"in": "query",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
},
{
"description": "ID do espaço de trabalho da ideia",
"required": false,
"name": "departmentId",
"in": "query",
"schema": {
"format": "uuid",
"default": null,
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Lista de ideias retornada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedIdeaViewModel"
}
}
}
}
},
"summary": "Listar todas as ideias com filtros",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedIdeaViewModel": {
"type": "object",
"properties": {
"data": {
"description": "Dados das ideias",
"type": "array",
"items": {
"$ref": "#/components/schemas/IdeaViewModel"
}
},
"pagination": {
"description": "Informações de paginação",
"allOf": [
{
"$ref": "#/components/schemas/PaginationMetaDto"
}
]
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"IdeaViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da ideia",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"ideaNumber": {
"type": "number",
"description": "Número da ideia (único)"
},
"status": {
"type": "string",
"description": "Status da ideia (NOT_STARTED | STARTED | CANCELED | FINISHED)",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"departmentId": {
"type": "string",
"description": "Identificador do departamento",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da ideia",
"format": "date-time"
}
},
"required": [
"id",
"description",
"ideaNumber",
"status",
"departmentId",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar uma ideia por ID
Source: https://docs.wiboor.com.br/reference/buscar-uma-ideia-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas/{id}": {
"get": {
"operationId": "PublicIdeaController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da ideia",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IdeaViewModel"
}
}
}
}
},
"summary": "Buscar uma ideia por ID",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"IdeaViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da ideia",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"ideaNumber": {
"type": "number",
"description": "Número da ideia (único)"
},
"status": {
"type": "string",
"description": "Status da ideia (NOT_STARTED | STARTED | CANCELED | FINISHED)",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"departmentId": {
"type": "string",
"description": "Identificador do departamento",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da ideia",
"format": "date-time"
}
},
"required": [
"id",
"description",
"ideaNumber",
"status",
"departmentId",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Atualizar uma ideia
Source: https://docs.wiboor.com.br/reference/atualizar-uma-ideia
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas/{id}": {
"put": {
"operationId": "PublicIdeaController_update",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da ideia",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados para atualização da ideia",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateIdeaDTO"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IdeaViewModel"
}
}
}
}
},
"summary": "Atualizar uma ideia",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"IdeaViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da ideia",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"ideaNumber": {
"type": "number",
"description": "Número da ideia (único)"
},
"status": {
"type": "string",
"description": "Status da ideia (NOT_STARTED | STARTED | CANCELED | FINISHED)",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"departmentId": {
"type": "string",
"description": "Identificador do departamento",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da ideia",
"format": "date-time"
}
},
"required": [
"id",
"description",
"ideaNumber",
"status",
"departmentId",
"createdAt"
]
},
"UpdateIdeaDTO": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"departmentId": {
"type": "string",
"description": "Identificador do espaço de trabalho",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "Identificador do sub-espaço",
"format": "uuid"
}
},
"required": [
"description",
"departmentId"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Remover uma ideia
Source: https://docs.wiboor.com.br/reference/remover-uma-ideia
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas/{id}": {
"delete": {
"operationId": "PublicIdeaController_remove",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da ideia",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"summary": "Remover uma ideia",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Alterar o status de uma ideia
Source: https://docs.wiboor.com.br/reference/alterar-o-status-de-uma-ideia
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/ideas/{id}/change-status": {
"patch": {
"operationId": "PublicIdeaController_changeStatus",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da ideia",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Novo status da ideia",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeIdeaStatusPublicDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IdeaViewModel"
}
}
}
}
},
"summary": "Alterar o status de uma ideia",
"tags": [
"Ideias"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Ideias",
"description": "Ideias e sugestões da equipe e o status de cada uma."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"IdeaViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da ideia",
"format": "uuid"
},
"description": {
"type": "string",
"description": "Descrição da ideia"
},
"ideaNumber": {
"type": "number",
"description": "Número da ideia (único)"
},
"status": {
"type": "string",
"description": "Status da ideia (NOT_STARTED | STARTED | CANCELED | FINISHED)",
"enum": [
"NOT_STARTED",
"STARTED",
"PAUSED",
"FINISHED",
"PENDING",
"CANCELED",
"REQUESTED"
]
},
"departmentId": {
"type": "string",
"description": "Identificador do departamento",
"format": "uuid"
},
"createdAt": {
"type": "string",
"description": "Data de criação da ideia",
"format": "date-time"
}
},
"required": [
"id",
"description",
"ideaNumber",
"status",
"departmentId",
"createdAt"
]
},
"ChangeIdeaStatusPublicDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Novo status da ideia. NOT_STARTED (não analisada), STARTED (em análise), FINISHED (aprovada) ou CANCELED (arquivada)",
"enum": [
"NOT_STARTED",
"STARTED",
"FINISHED",
"CANCELED"
]
},
"userExecutorId": {
"type": "string",
"description": "Identificador do executor do trabalho gerado pela aprovação. Obrigatório quando o status for FINISHED",
"format": "uuid"
},
"ideaType": {
"type": "string",
"description": "O que a aprovação gera: uma tarefa (TASK) ou um projeto (PROJECT). Obrigatório quando o status for FINISHED",
"enum": [
"task",
"project"
]
}
},
"required": [
"status"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Criar uma nova wiki
Source: https://docs.wiboor.com.br/reference/criar-uma-nova-wiki
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/processes": {
"post": {
"operationId": "PublicProcessesController_create",
"parameters": [],
"requestBody": {
"required": true,
"description": "Dados para criação da wiki",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateProcessPublicDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProcessViewModel"
}
}
}
}
},
"summary": "Criar uma nova wiki",
"tags": [
"Wikis"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Wikis",
"description": "Wikis (processos) documentados nos espaços do seu usuário."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProcessViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da wiki",
"format": "uuid"
},
"processNumber": {
"type": "number",
"description": "Número da wiki (único)"
},
"title": {
"type": "string",
"description": "Título da wiki"
},
"description": {
"type": "string",
"description": "Conteúdo da wiki"
},
"keyWords": {
"description": "Palavras-chave da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departments": {
"description": "Identificadores dos espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departmentGroups": {
"description": "Identificadores dos sub-espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da wiki",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "Data de criação da wiki",
"format": "date-time"
}
},
"required": [
"id",
"processNumber",
"title",
"description",
"keyWords",
"departments",
"departmentGroups",
"updatedAt",
"createdAt"
]
},
"CreateProcessPublicDto": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Título da wiki",
"maxLength": 191
},
"description": {
"type": "string",
"description": "Conteúdo da wiki (HTML)"
},
"departments": {
"description": "Identificadores dos espaços da wiki. Você precisa participar de todos eles",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"departmentGroups": {
"description": "Identificadores dos sub-espaços da wiki. Você precisa participar de todos eles",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"title",
"description",
"departments"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar as wikis dos espaços do seu usuário
Source: https://docs.wiboor.com.br/reference/listar-as-wikis-dos-espacos-do-seu-usuario
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/processes": {
"get": {
"operationId": "PublicProcessesController_findAll",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedProcessViewModel"
}
}
}
}
},
"summary": "Listar as wikis dos espaços do seu usuário",
"tags": [
"Wikis"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Wikis",
"description": "Wikis (processos) documentados nos espaços do seu usuário."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedProcessViewModel": {
"type": "object",
"properties": {
"data": {
"description": "Dados das wikis",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessViewModel"
}
},
"pagination": {
"description": "Informações de paginação",
"allOf": [
{
"$ref": "#/components/schemas/PaginationMetaDto"
}
]
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"ProcessViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da wiki",
"format": "uuid"
},
"processNumber": {
"type": "number",
"description": "Número da wiki (único)"
},
"title": {
"type": "string",
"description": "Título da wiki"
},
"description": {
"type": "string",
"description": "Conteúdo da wiki"
},
"keyWords": {
"description": "Palavras-chave da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departments": {
"description": "Identificadores dos espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departmentGroups": {
"description": "Identificadores dos sub-espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da wiki",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "Data de criação da wiki",
"format": "date-time"
}
},
"required": [
"id",
"processNumber",
"title",
"description",
"keyWords",
"departments",
"departmentGroups",
"updatedAt",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar uma wiki por ID
Source: https://docs.wiboor.com.br/reference/buscar-uma-wiki-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/processes/{id}": {
"get": {
"operationId": "PublicProcessesController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da wiki",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProcessViewModel"
}
}
}
}
},
"summary": "Buscar uma wiki por ID",
"tags": [
"Wikis"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Wikis",
"description": "Wikis (processos) documentados nos espaços do seu usuário."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProcessViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da wiki",
"format": "uuid"
},
"processNumber": {
"type": "number",
"description": "Número da wiki (único)"
},
"title": {
"type": "string",
"description": "Título da wiki"
},
"description": {
"type": "string",
"description": "Conteúdo da wiki"
},
"keyWords": {
"description": "Palavras-chave da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departments": {
"description": "Identificadores dos espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departmentGroups": {
"description": "Identificadores dos sub-espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da wiki",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "Data de criação da wiki",
"format": "date-time"
}
},
"required": [
"id",
"processNumber",
"title",
"description",
"keyWords",
"departments",
"departmentGroups",
"updatedAt",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Atualizar uma wiki
Source: https://docs.wiboor.com.br/reference/atualizar-uma-wiki
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/processes/{id}": {
"put": {
"operationId": "PublicProcessesController_update",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da wiki",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"requestBody": {
"required": true,
"description": "Dados para atualização da wiki",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateProcessPublicDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProcessViewModel"
}
}
}
}
},
"summary": "Atualizar uma wiki",
"tags": [
"Wikis"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Wikis",
"description": "Wikis (processos) documentados nos espaços do seu usuário."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"ProcessViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador da wiki",
"format": "uuid"
},
"processNumber": {
"type": "number",
"description": "Número da wiki (único)"
},
"title": {
"type": "string",
"description": "Título da wiki"
},
"description": {
"type": "string",
"description": "Conteúdo da wiki"
},
"keyWords": {
"description": "Palavras-chave da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departments": {
"description": "Identificadores dos espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"departmentGroups": {
"description": "Identificadores dos sub-espaços da wiki",
"type": "array",
"items": {
"type": "string"
}
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da wiki",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "Data de criação da wiki",
"format": "date-time"
}
},
"required": [
"id",
"processNumber",
"title",
"description",
"keyWords",
"departments",
"departmentGroups",
"updatedAt",
"createdAt"
]
},
"UpdateProcessPublicDto": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Título da wiki",
"maxLength": 191
},
"description": {
"type": "string",
"description": "Conteúdo da wiki (HTML)"
},
"departments": {
"description": "Espaços da wiki. Substitui apenas os espaços que você enxerga; vínculos com espaços fora do seu acesso são preservados. Omita para não mexer nos vínculos",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"departmentGroups": {
"description": "Sub-espaços da wiki. Substitui apenas os sub-espaços que você enxerga; vínculos fora do seu acesso são preservados. Omita para não mexer nos vínculos",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"title",
"description"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Remover uma wiki
Source: https://docs.wiboor.com.br/reference/remover-uma-wiki
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/processes/{id}": {
"delete": {
"operationId": "PublicProcessesController_remove",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da wiki",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"summary": "Remover uma wiki",
"tags": [
"Wikis"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Wikis",
"description": "Wikis (processos) documentados nos espaços do seu usuário."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar as metas da empresa
Source: https://docs.wiboor.com.br/reference/listar-as-metas-da-empresa
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/goals": {
"get": {
"operationId": "PublicGoalsController_findAll",
"parameters": [
{
"name": "count",
"required": false,
"in": "query",
"description": "Número de itens por página",
"schema": {
"minimum": 1,
"maximum": 100,
"default": 10,
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"description": "Número da página",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"name": "search",
"required": false,
"in": "query",
"description": "Busca pelo nome da meta (contém, sem diferenciar maiúsculas)",
"schema": {
"example": "TPV Ninepay",
"type": "string"
}
},
{
"name": "status",
"required": false,
"in": "query",
"description": "Status da meta",
"schema": {
"type": "string",
"enum": [
"ONGOING",
"ACHIEVED",
"FAILED"
]
}
},
{
"name": "activeAt",
"required": false,
"in": "query",
"description": "Data ou data e hora (ISO 8601). Retorna só as metas ativas nesse momento: início <= data <= fim. Metas sem início ou sem fim não entram.",
"schema": {
"format": "date-time",
"example": "2026-10-15T12:00:00.000Z",
"type": "string"
}
},
{
"name": "indicatorId",
"required": false,
"in": "query",
"description": "ID do indicador ao qual a meta está ligada",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Número de itens por página",
"required": false,
"name": "count",
"in": "query",
"schema": {
"minimum": 1,
"maximum": 100,
"default": 10,
"type": "number"
}
},
{
"description": "Número da página",
"required": false,
"name": "page",
"in": "query",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"description": "Busca pelo nome da meta (contém, sem diferenciar maiúsculas)",
"required": false,
"name": "search",
"in": "query",
"schema": {
"example": "TPV Ninepay",
"type": "string"
}
},
{
"description": "Status da meta",
"required": false,
"name": "status",
"in": "query",
"schema": {
"type": "string"
}
},
{
"description": "Data ou data e hora (ISO 8601). Retorna só as metas ativas nesse momento: início <= data <= fim. Metas sem início ou sem fim não entram.",
"required": false,
"name": "activeAt",
"in": "query",
"schema": {
"format": "date-time",
"example": "2026-10-15T12:00:00.000Z",
"type": "string"
}
},
{
"description": "ID do indicador ao qual a meta está ligada",
"required": false,
"name": "indicatorId",
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Lista de metas retornada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedGoalPublicViewModel"
}
}
}
}
},
"summary": "Listar as metas da empresa",
"tags": [
"Metas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Metas",
"description": "Metas da empresa (somente leitura)."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedGoalPublicViewModel": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GoalPublicViewModel"
}
},
"pagination": {
"$ref": "#/components/schemas/PaginationMetaDto"
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"GoalPublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID da meta",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome da meta"
},
"description": {
"type": "string",
"description": "Descrição da meta",
"nullable": true
},
"objectiveValue": {
"type": "number",
"description": "Valor objetivo da meta"
},
"baselineValue": {
"type": "number",
"description": "Valor de partida da meta"
},
"achievedValue": {
"type": "number",
"description": "Valor atingido: último valor registrado no indicador. Nulo se ainda não há valor.",
"nullable": true
},
"progress": {
"type": "number",
"description": "Progresso da meta, em porcentagem"
},
"status": {
"type": "string",
"description": "Status da meta",
"enum": [
"ONGOING",
"ACHIEVED",
"FAILED"
]
},
"startDate": {
"type": "string",
"description": "Início da vigência da meta",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Fim da vigência da meta",
"format": "date-time",
"nullable": true
},
"indicator": {
"description": "Indicador ao qual a meta está ligada",
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/GoalIndicatorPublicViewModel"
}
]
},
"createdAt": {
"type": "string",
"description": "Data de criação da meta",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da meta",
"format": "date-time"
}
},
"required": [
"id",
"name",
"description",
"objectiveValue",
"baselineValue",
"achievedValue",
"progress",
"status",
"startDate",
"endDate",
"indicator",
"createdAt",
"updatedAt"
]
},
"GoalIndicatorPublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do indicador",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do indicador"
},
"type": {
"type": "string",
"description": "Tipo do indicador",
"enum": [
"PERCENT",
"NUMBER",
"MONEY",
"TIME"
]
}
},
"required": [
"id",
"name",
"type"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar uma meta por ID
Source: https://docs.wiboor.com.br/reference/buscar-uma-meta-por-id
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/goals/{id}": {
"get": {
"operationId": "PublicGoalsController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID da meta",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Meta encontrada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GoalPublicViewModel"
}
}
}
},
"404": {
"description": "Meta não encontrada"
}
},
"summary": "Buscar uma meta por ID",
"tags": [
"Metas"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Metas",
"description": "Metas da empresa (somente leitura)."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"GoalPublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID da meta",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome da meta"
},
"description": {
"type": "string",
"description": "Descrição da meta",
"nullable": true
},
"objectiveValue": {
"type": "number",
"description": "Valor objetivo da meta"
},
"baselineValue": {
"type": "number",
"description": "Valor de partida da meta"
},
"achievedValue": {
"type": "number",
"description": "Valor atingido: último valor registrado no indicador. Nulo se ainda não há valor.",
"nullable": true
},
"progress": {
"type": "number",
"description": "Progresso da meta, em porcentagem"
},
"status": {
"type": "string",
"description": "Status da meta",
"enum": [
"ONGOING",
"ACHIEVED",
"FAILED"
]
},
"startDate": {
"type": "string",
"description": "Início da vigência da meta",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Fim da vigência da meta",
"format": "date-time",
"nullable": true
},
"indicator": {
"description": "Indicador ao qual a meta está ligada",
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/GoalIndicatorPublicViewModel"
}
]
},
"createdAt": {
"type": "string",
"description": "Data de criação da meta",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"description": "Data da última atualização da meta",
"format": "date-time"
}
},
"required": [
"id",
"name",
"description",
"objectiveValue",
"baselineValue",
"achievedValue",
"progress",
"status",
"startDate",
"endDate",
"indicator",
"createdAt",
"updatedAt"
]
},
"GoalIndicatorPublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do indicador",
"format": "uuid"
},
"name": {
"type": "string",
"description": "Nome do indicador"
},
"type": {
"type": "string",
"description": "Tipo do indicador",
"enum": [
"PERCENT",
"NUMBER",
"MONEY",
"TIME"
]
}
},
"required": [
"id",
"name",
"type"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Listar os templates que você vê
Source: https://docs.wiboor.com.br/reference/listar-os-templates-que-voce-ve
Templates de tarefa e de projeto dos espaços em que você é membro ativo (todo membro do espaço vê os templates dele).
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/templates": {
"get": {
"description": "Templates de tarefa e de projeto dos espaços em que você é membro ativo (todo membro do espaço vê os templates dele).",
"operationId": "PublicTemplatesController_findAll",
"parameters": [
{
"name": "count",
"required": false,
"in": "query",
"description": "Número de itens por página",
"schema": {
"minimum": 1,
"maximum": 100,
"default": 10,
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"description": "Número da página",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"name": "kind",
"required": false,
"in": "query",
"description": "Tipo do template: de tarefa (TASK) ou de projeto (PROJECT)",
"schema": {
"type": "string",
"enum": [
"TASK",
"PROJECT"
]
}
},
{
"name": "search",
"required": false,
"in": "query",
"description": "Busca pelo título do template (contém, sem diferenciar maiúsculas)",
"schema": {
"example": "Fechamento mensal",
"type": "string"
}
},
{
"name": "departmentId",
"required": false,
"in": "query",
"description": "ID do espaço do template. Espaço fora do seu alcance devolve lista vazia.",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "Número de itens por página",
"required": false,
"name": "count",
"in": "query",
"schema": {
"minimum": 1,
"maximum": 100,
"default": 10,
"type": "number"
}
},
{
"description": "Número da página",
"required": false,
"name": "page",
"in": "query",
"schema": {
"minimum": 1,
"default": 1,
"type": "number"
}
},
{
"description": "Tipo do template: de tarefa (TASK) ou de projeto (PROJECT)",
"required": false,
"name": "kind",
"in": "query",
"schema": {
"type": "string"
}
},
{
"description": "Busca pelo título do template (contém, sem diferenciar maiúsculas)",
"required": false,
"name": "search",
"in": "query",
"schema": {
"example": "Fechamento mensal",
"type": "string"
}
},
{
"description": "ID do espaço do template. Espaço fora do seu alcance devolve lista vazia.",
"required": false,
"name": "departmentId",
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Lista de templates retornada com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedTemplatePublicViewModel"
}
}
}
}
},
"summary": "Listar os templates que você vê",
"tags": [
"Templates"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Templates",
"description": "Templates de tarefas e projetos que você pode aplicar (somente leitura)."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"PaginatedTemplatePublicViewModel": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplatePublicViewModel"
}
},
"pagination": {
"$ref": "#/components/schemas/PaginationMetaDto"
}
},
"required": [
"data",
"pagination"
]
},
"PaginationMetaDto": {
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Total de itens",
"example": 100
},
"perPage": {
"type": "number",
"description": "Itens por página",
"example": 10
},
"currentPage": {
"type": "number",
"description": "Página atual",
"example": 1
},
"lastPage": {
"type": "number",
"description": "Última página",
"example": 10
}
},
"required": [
"totalItems",
"perPage",
"currentPage",
"lastPage"
]
},
"TemplatePublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do template",
"format": "uuid"
},
"number": {
"type": "number",
"description": "Número do template"
},
"title": {
"type": "string",
"description": "Título do template"
},
"description": {
"type": "string",
"description": "Descrição do template (HTML)",
"nullable": true
},
"kind": {
"type": "string",
"description": "Tipo do template: de tarefa (TASK) ou de projeto (PROJECT)",
"enum": [
"TASK",
"PROJECT"
]
},
"departmentId": {
"type": "string",
"description": "ID do espaço do template",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do template",
"format": "uuid",
"nullable": true
},
"priority": {
"type": "number",
"description": "Prioridade sugerida (1 a 10)"
},
"userExecutorId": {
"type": "string",
"description": "ID do executor sugerido",
"format": "uuid",
"nullable": true
},
"suggestedDays": {
"type": "number",
"description": "Prazo sugerido, em dias corridos a partir da aplicação do template",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação do template",
"format": "date-time"
}
},
"required": [
"id",
"number",
"title",
"description",
"kind",
"departmentId",
"departmentGroupId",
"priority",
"userExecutorId",
"suggestedDays",
"createdAt"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Buscar um template por ID, com o rascunho para aplicá-lo
Source: https://docs.wiboor.com.br/reference/buscar-um-template-por-id-com-o-rascunho-para-aplica-lo
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"paths": {
"/v1/templates/{id}": {
"get": {
"operationId": "PublicTemplatesController_findOne",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "ID do template",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Template encontrado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateDetailPublicViewModel"
}
}
}
},
"404": {
"description": "Template não encontrado"
}
},
"summary": "Buscar um template por ID, com o rascunho para aplicá-lo",
"tags": [
"Templates"
]
}
}
},
"info": {
"title": "Wiboor API",
"description": "API da aplicação Wiboor, destinada a permitir a comunicação backend-to-backend entre sistemas. Ela possibilita o gerenciamento flexível de tarefas, projetos e equipes, oferecendo integração para outras aplicações de acordo com suas necessidades específicas.",
"version": "1.0",
"contact": {}
},
"tags": [
{
"name": "Templates",
"description": "Templates de tarefas e projetos que você pode aplicar (somente leitura)."
}
],
"servers": [
{
"url": "https://api.azzimuti.com.br",
"description": "Produção"
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Token de API gerado no menu Token do seu perfil no Wiboor."
}
},
"schemas": {
"TemplateDetailPublicViewModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID do template",
"format": "uuid"
},
"number": {
"type": "number",
"description": "Número do template"
},
"title": {
"type": "string",
"description": "Título do template"
},
"description": {
"type": "string",
"description": "Descrição do template (HTML)",
"nullable": true
},
"kind": {
"type": "string",
"description": "Tipo do template: de tarefa (TASK) ou de projeto (PROJECT)",
"enum": [
"TASK",
"PROJECT"
]
},
"departmentId": {
"type": "string",
"description": "ID do espaço do template",
"format": "uuid"
},
"departmentGroupId": {
"type": "string",
"description": "ID do sub-espaço (grupo) do template",
"format": "uuid",
"nullable": true
},
"priority": {
"type": "number",
"description": "Prioridade sugerida (1 a 10)"
},
"userExecutorId": {
"type": "string",
"description": "ID do executor sugerido",
"format": "uuid",
"nullable": true
},
"suggestedDays": {
"type": "number",
"description": "Prazo sugerido, em dias corridos a partir da aplicação do template",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Data de criação do template",
"format": "date-time"
},
"draft": {
"type": "object",
"additionalProperties": true,
"description": "Rascunho para aplicar o template, com o prazo (`endedAt`) já calculado a partir de agora. Template de tarefa: `{ task: {...} }`; de projeto: `{ project: { ..., tasks: [...] } }`. Envie o `templateId` no corpo do POST de criação para registrar a origem (o uso conta no histórico e nas métricas do template). Não é enviado tal qual para a criação: (1) use o conteúdo de `task`/`project`, não o envelope; (2) `POST /v1/tasks` exige `userExecutorId` (pode vir nulo aqui) e ignora `openReview`, `attachments` e, no checklist, `assigneeId` e `children` (os subitens não são criados); (3) `POST /v1/projects` exige `userExecutorId`, `description`, `endedAt`, `priority` e `isReadyToClose` (os dois últimos não vêm no rascunho; os demais podem vir nulos) e `userReviewerId` quando `openReview` é verdadeiro; seu `tasks` é uma lista de IDs de tarefas já existentes — crie antes cada item de `project.tasks` via `POST /v1/tasks` (no espaço do projeto) e envie os IDs; `attachments` também é ignorado. Anexos vêm só como referência (URL)."
}
},
"required": [
"id",
"number",
"title",
"description",
"kind",
"departmentId",
"departmentGroupId",
"priority",
"userExecutorId",
"suggestedDays",
"createdAt",
"draft"
]
}
}
},
"security": [
{
"bearerAuth": []
}
]
}
```
---
# Acompanhar a execução de uma tarefa
Source: https://docs.wiboor.com.br/recipes/acompanhar-a-execucao-de-uma-tarefa
Inicie, pause e finalize uma tarefa pela API para o Wiboor medir o tempo gasto, e consulte o resultado com GET /v1/tasks/{id}.
## Execute como o dono da tarefa
> Linhas destacadas: 1-3
Iniciar, pausar e finalizar valem para o usuário do token: use o token do executor da tarefa (ou de um usuário de integração que seja o executor). Os três endpoints não têm corpo e respondem `200`.
## Inicie e pause
> Linhas destacadas: 5-9
`/start` muda o status para `STARTED` e começa a contar o tempo; `/pause` muda para `PAUSED` e para o relógio. É o mesmo que o executor faz pelos botões no Wiboor, então dá para ligar a tarefa ao seu sistema de ponto, ao help desk ou a um timer próprio.
## Retome e finalize
> Linhas destacadas: 11-13
Para retomar uma tarefa pausada, chame `/start` de novo. `/end` muda o status para `FINISHED` e registra o `finishedAt`.
## Consulte o resultado
> Linhas destacadas: 15-18
[Buscar uma tarefa por ID](/reference/buscar-uma-tarefa-por-id) traz o `status` e o `spentedTime`, o tempo gasto executando a tarefa. Para listar várias de uma vez, filtre [Listar tarefas](/reference/listar-todas-as-tarefas-com-filtros) por `status[]=FINISHED` e período.
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = { Authorization: `Bearer ${process.env.WIBOOR_TOKEN}` };
const taskId = '0197b3f0-1a2b-7c3d-8e4f-5a6b7c8d9e0f';
// 1. Comece a executar: o relógio da tarefa começa a contar
await fetch(`${BASE_URL}/tasks/${taskId}/start`, { method: 'POST', headers });
// 2. Pause quando o trabalho parar (almoço, outra prioridade)
await fetch(`${BASE_URL}/tasks/${taskId}/pause`, { method: 'POST', headers });
// 3. Retome com o mesmo /start e finalize no fim
await fetch(`${BASE_URL}/tasks/${taskId}/start`, { method: 'POST', headers });
await fetch(`${BASE_URL}/tasks/${taskId}/end`, { method: 'POST', headers });
// 4. Consulte o status e o tempo gasto
const res = await fetch(`${BASE_URL}/tasks/${taskId}`, { headers });
const task = await res.json();
console.log(task.status, task.spentedTime, task.finishedAt);
```
## Resposta
```json
{
"id": "0197b3f0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"taskNumber": 85731,
"title": "Follow-up: ACME Ltda. entrou em Proposta",
"status": "FINISHED",
"spentedTime": 5400,
"finishedAt": "2026-11-03T17:45:02.000Z"
}
```
---
# Criar uma tarefa a partir de um template
Source: https://docs.wiboor.com.br/recipes/criar-a-partir-de-um-template
Encontre o template com GET /v1/templates, pegue o rascunho com o prazo já calculado e crie a tarefa enviando o templateId.
## Encontre o template
> Linhas destacadas: 7-10
[Listar templates](/reference/listar-os-templates-que-voce-ve) devolve os templates que você vê, paginados em `data`. Filtre por `kind=TASK` (ou `PROJECT`), por `search` no título e por `departmentId`.
## Pegue o rascunho
> Linhas destacadas: 12-14
[Buscar um template](/reference/buscar-um-template-por-id-com-o-rascunho-para-aplica-lo) traz o `draft`: para template de tarefa, `{ task: {...} }`, com título, descrição, prioridade, checklist e o `endedAt` já calculado pelo prazo sugerido do template.
## Crie a tarefa
> Linhas destacadas: 16-26
Envie o conteúdo de `draft.task` (não o envelope `draft`), e complete o `userExecutorId` se ele vier nulo: é obrigatório. Mande também o `templateId`, que registra a origem da tarefa e conta nas métricas do template. Campos que o rascunho traz mas a criação ignora: `openReview`, `attachments` e, no checklist, `assigneeId` e os subitens.
Para template de projeto, o rascunho vem como `{ project: { ..., tasks: [...] } }`: crie antes cada item de `project.tasks` com `POST /v1/tasks` e siga a recipe [Criar um projeto com tarefas](/recipes/criar-um-projeto-com-tarefas).
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = {
Authorization: `Bearer ${process.env.WIBOOR_TOKEN}`,
'Content-Type': 'application/json',
};
// 1. Encontre o template de tarefa pelo título
const listRes = await fetch(`${BASE_URL}/templates?kind=TASK&search=Fechamento%20mensal`, { headers });
const { data: templates } = await listRes.json();
const templateId = templates[0].id;
// 2. Pegue o rascunho, com o prazo calculado a partir de agora
const detailRes = await fetch(`${BASE_URL}/templates/${templateId}`, { headers });
const { draft } = await detailRes.json();
// 3. Crie a tarefa com o conteúdo de draft.task e o templateId
const taskRes = await fetch(`${BASE_URL}/tasks`, {
method: 'POST',
headers,
body: JSON.stringify({
...draft.task,
userExecutorId: draft.task.userExecutorId ?? '0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d',
templateId,
}),
});
const task = await taskRes.json();
```
## Resposta
```json
{
"id": "0197b5c2-3d4e-7f5a-8b6c-7d8e9f0a1b2c",
"taskNumber": 85740,
"title": "Fechamento mensal — novembro",
"type": "TASK",
"status": "NOT_STARTED",
"priority": 6,
"endedAt": "2026-11-08T21:00:00.000Z",
"userExecutorId": "0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d"
}
```
---
# Criar uma tarefa a partir do CRM
Source: https://docs.wiboor.com.br/recipes/criar-tarefa-a-partir-do-crm
Quando um lead muda de etapa, crie uma tarefa de follow-up com POST /v1/tasks, monte o checklist e deixe um comentário com o contexto.
## Autentique com o token
> Linhas destacadas: 1-5
Todas as chamadas vão para `https://api.azzimuti.com.br/v1` com o token de API no header `Authorization: Bearer`. A tarefa é aberta em nome do dono do token (o solicitante); use um usuário de integração se quiser que ela apareça como aberta pelo CRM. Veja [Autenticação](/docs/autenticacao).
## Crie a tarefa
> Linhas destacadas: 7-20
`title`, `type` e `userExecutorId` são obrigatórios. O `departmentId` e o `userExecutorId` saem de [Listar espaços](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros): o executor precisa ser membro do espaço. A `description` aceita HTML. Guarde o `id` da resposta junto do lead, para não criar a mesma tarefa duas vezes se o lead voltar de etapa.
## Monte o checklist
> Linhas destacadas: 22-29
Cada item é um `POST /v1/tasks/{id}/checklist` com a `description`. Depois, o executor marca os itens no Wiboor, ou o seu sistema marca com [Marcar um item do checklist](/reference/marcar-um-item-do-checklist-de-uma-tarefa).
## Comente com o contexto
> Linhas destacadas: 31-37
O comentário aparece no histórico da tarefa para o executor. Use-o para o link do lead e para o que mudou desde a última etapa. O `taskNumber` é o número que as pessoas veem no Wiboor.
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = {
Authorization: `Bearer ${process.env.WIBOOR_TOKEN}`,
'Content-Type': 'application/json',
};
// 1. Crie a tarefa de follow-up para o vendedor
const taskRes = await fetch(`${BASE_URL}/tasks`, {
method: 'POST',
headers,
body: JSON.stringify({
title: 'Follow-up: ACME Ltda. entrou em Proposta',
type: 'TASK',
priority: 7,
departmentId: '0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607', // espaço Comercial
userExecutorId: '0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d', // vendedor do lead
description: 'Lead mudou para Proposta no CRM.
',
}),
});
const task = await taskRes.json();
// 2. Monte o checklist, um item por chamada
for (const description of ['Enviar proposta', 'Agendar reunião', 'Registrar retorno no CRM']) {
await fetch(`${BASE_URL}/tasks/${task.id}/checklist`, {
method: 'POST',
headers,
body: JSON.stringify({ description }),
});
}
// 3. Comente com o link do lead
await fetch(`${BASE_URL}/tasks/${task.id}/comments`, {
method: 'POST',
headers,
body: JSON.stringify({ message: 'Lead no CRM: https://crm.exemplo.com.br/leads/4821' }),
});
console.log(`Tarefa #${task.taskNumber} criada`);
```
## Resposta
```json
{
"id": "0197b3f0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"taskNumber": 85731,
"title": "Follow-up: ACME Ltda. entrou em Proposta",
"type": "TASK",
"status": "NOT_STARTED",
"priority": 7,
"departmentId": "0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607",
"userExecutorId": "0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d",
"userRequesterId": "0197a1c2-0f1e-7d2c-9b3a-485960718293",
"spentedTime": 0,
"createdAt": "2026-11-03T14:02:11.000Z"
}
```
---
# Criar um projeto com tarefas
Source: https://docs.wiboor.com.br/recipes/criar-um-projeto-com-tarefas
Crie as tarefas com POST /v1/tasks, agrupe-as num projeto com POST /v1/projects e vincule depois as que surgirem.
## Crie as tarefas primeiro
> Linhas destacadas: 6-19
O projeto recebe uma lista de IDs de tarefas que já existem, então crie as tarefas antes, no mesmo espaço do projeto. Só tarefas `TASK` entram em projeto: um `BUG` não pode fazer parte de um projeto.
## Crie o projeto
> Linhas destacadas: 21-38
A criação de projeto pede todos estes campos: `title`, `description`, `departmentId`, `userExecutorId` (o líder), `priority` (1 a 10), `endedAt` (prazo), `tasks`, `isReadyToClose` e `openReview`. Com `isReadyToClose: true`, o projeto fecha sozinho quando todas as tarefas forem finalizadas. Se `openReview` for `true`, o projeto gera uma avaliação ao terminar e `userReviewerId` (o avaliador) passa a ser obrigatório.
## Vincule tarefas depois
> Linhas destacadas: 40-42
Tarefas que aparecem no meio do caminho entram com [Vincular uma tarefa a um projeto](/reference/vincular-uma-tarefa-a-um-projeto-por-id). Outra opção é criar a tarefa já com o `projectId` no `POST /v1/tasks`.
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = {
Authorization: `Bearer ${process.env.WIBOOR_TOKEN}`,
'Content-Type': 'application/json',
};
const departmentId = '0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607';
const leaderId = '0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d';
// 1. Crie as tarefas primeiro
const titles = ['Briefing com o cliente', 'Criação das peças', 'Revisão e entrega'];
const taskIds = [];
for (const title of titles) {
const res = await fetch(`${BASE_URL}/tasks`, {
method: 'POST',
headers,
body: JSON.stringify({ title, type: 'TASK', departmentId, userExecutorId: leaderId }),
});
taskIds.push((await res.json()).id);
}
// 2. Crie o projeto com os IDs das tarefas
const projectRes = await fetch(`${BASE_URL}/projects`, {
method: 'POST',
headers,
body: JSON.stringify({
title: 'Campanha de Natal — ACME',
description: 'Peças da campanha de fim de ano.',
departmentId,
userExecutorId: leaderId,
priority: 5,
endedAt: '2026-12-15T21:00:00.000Z',
tasks: taskIds,
isReadyToClose: true,
openReview: false,
userReviewerId: null,
}),
});
const project = await projectRes.json();
// 3. Vincule uma tarefa que surgiu depois
const extraTaskId = '0197b4a1-2c3d-7e4f-9a5b-6c7d8e9f0a1b';
await fetch(`${BASE_URL}/projects/${project.id}/attach/tasks/${extraTaskId}`, { method: 'POST', headers });
```
## Resposta
```json
{
"id": "0197b4a0-7d6c-7b5a-8f4e-3d2c1b0a9f8e",
"projectNumber": 1612,
"title": "Campanha de Natal — ACME",
"status": "NOT_STARTED",
"priority": 5,
"endedAt": "2026-12-15T21:00:00.000Z",
"isReadyToClose": true,
"departmentId": "0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607",
"userExecutorId": "0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d",
"tasks": [
"0197b49f-0a1b-7c2d-8e3f-4a5b6c7d8e9f",
"0197b49f-1b2c-7d3e-9f4a-5b6c7d8e9f0a",
"0197b49f-2c3d-7e4f-8a5b-6c7d8e9f0a1b"
]
}
```
---
# Listar as tarefas abertas de um usuário
Source: https://docs.wiboor.com.br/recipes/listar-tarefas-abertas-de-um-usuario
Percorra todas as páginas de GET /v1/tasks filtrando por executor e status, e monte um painel ou relatório com o resultado.
## Encontre o usuário
> Linhas destacadas: 4-6
[Listar espaços](/reference/listar-todos-os-espacos-que-seu-usuario-esta-com-seus-membros) traz os espaços do dono do token com os membros (`users`: `id`, `name`, `email`). Guarde o `id` no seu sistema para não procurar toda vez.
## Percorra as páginas
> Linhas destacadas: 8-17
[Listar tarefas](/reference/listar-todas-as-tarefas-com-filtros) é paginada: `count` vai até 100 por página e `page` começa em 1. Repita `status[]` para cada status. Pare quando `pagination.currentPage` chegar a `pagination.lastPage`. Outros filtros úteis: `projectId`, `departmentIds[]`, `search`, `startDate` e `endDate`.
## Use o resultado
> Linhas destacadas: 19-21
O `endedAt` é o prazo planejado e o `taskNumber` é o número que as pessoas veem no Wiboor. Para trazer comentários ou checklist junto, use o parâmetro `join`.
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = { Authorization: `Bearer ${process.env.WIBOOR_TOKEN}` };
// 1. Descubra o ID do usuário pelos membros dos seus espaços
const spaces = await (await fetch(`${BASE_URL}/departments`, { headers })).json();
const user = spaces.flatMap(space => space.users).find(u => u.email === 'ana@exemplo.com.br');
// 2. Percorra todas as páginas das tarefas abertas dele
const tasks = [];
for (let page = 1; ; page++) {
const params = new URLSearchParams({ userExecutorId: user.id, count: '100', page: String(page) });
for (const status of ['NOT_STARTED', 'STARTED', 'PAUSED']) params.append('status[]', status);
const { data, pagination } = await (await fetch(`${BASE_URL}/tasks?${params}`, { headers })).json();
tasks.push(...data);
if (pagination.currentPage >= pagination.lastPage) break;
}
// 3. Ordene pelo prazo
tasks.sort((a, b) => new Date(a.endedAt) - new Date(b.endedAt));
console.log(tasks.map(t => `#${t.taskNumber} ${t.title} (${t.status})`));
```
## Resposta
```json
{
"data": [
{
"id": "0197b3f0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"taskNumber": 85731,
"title": "Follow-up: ACME Ltda. entrou em Proposta",
"status": "STARTED",
"priority": 7,
"endedAt": "2026-11-05T21:00:00.000Z"
}
],
"pagination": {
"totalItems": 37,
"perPage": 100,
"currentPage": 1,
"lastPage": 1
}
}
```
---
# Registrar e aprovar uma ideia
Source: https://docs.wiboor.com.br/recipes/registrar-e-aprovar-uma-ideia
Registre sugestões vindas de outro sistema com POST /v1/ideas e aprove a ideia gerando uma tarefa com PATCH /v1/ideas/{id}/change-status.
## Registre a ideia
> Linhas destacadas: 7-16
Só `description` e `departmentId` (o espaço) são obrigatórios. Use para levar ao Wiboor sugestões que chegam por formulário, pesquisa de satisfação ou chat interno. A ideia nasce como `NOT_STARTED` (não analisada).
## Coloque em análise
> Linhas destacadas: 18-23
[Alterar o status de uma ideia](/reference/alterar-o-status-de-uma-ideia) aceita `NOT_STARTED` (não analisada), `STARTED` (em análise), `FINISHED` (aprovada) e `CANCELED` (arquivada).
## Aprove gerando trabalho
> Linhas destacadas: 25-35
Para aprovar (`FINISHED`), informe o que a aprovação gera em `ideaType` (`task` ou `project`) e quem vai executar em `userExecutorId`: os dois são obrigatórios nesse status. Para arquivar, envie só `status: "CANCELED"`.
## Código
```js Node.js
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = {
Authorization: `Bearer ${process.env.WIBOOR_TOKEN}`,
'Content-Type': 'application/json',
};
// 1. Registre a ideia no espaço da equipe
const ideaRes = await fetch(`${BASE_URL}/ideas`, {
method: 'POST',
headers,
body: JSON.stringify({
description: 'Enviar lembrete por WhatsApp um dia antes da reunião com o cliente',
departmentId: '0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607',
}),
});
const idea = await ideaRes.json();
// 2. Coloque em análise
await fetch(`${BASE_URL}/ideas/${idea.id}/change-status`, {
method: 'PATCH',
headers,
body: JSON.stringify({ status: 'STARTED' }),
});
// 3. Aprove: a ideia vira uma tarefa para o executor
const approvedRes = await fetch(`${BASE_URL}/ideas/${idea.id}/change-status`, {
method: 'PATCH',
headers,
body: JSON.stringify({
status: 'FINISHED',
ideaType: 'task',
userExecutorId: '0197a1c2-9b8a-7c6d-8e5f-40312a1b2c3d',
}),
});
const approved = await approvedRes.json();
```
## Resposta
```json
{
"id": "0197b6d3-4e5f-7a6b-8c7d-8e9f0a1b2c3d",
"ideaNumber": 412,
"description": "Enviar lembrete por WhatsApp um dia antes da reunião com o cliente",
"status": "FINISHED",
"departmentId": "0197a1c2-3d4e-7f50-8a61-b2c3d4e5f607",
"createdAt": "2026-11-03T15:20:44.000Z"
}
```