Processos
Fluxos desenhados que criam uma tarefa por etapa para a pessoa certa: crie em rascunho, desenhe, valide, ative e execute.
O que é
Processos é o módulo que desenha um trabalho que se repete e o faz andar sozinho. Cada processo tem dois modos: Desenho, para documentar como a empresa trabalha, e Automação, em que cada peça Tarefa vira uma tarefa de verdade no quadro, para a pessoa do papel, com prazo e checklist.
Na prática: você cria o processo em rascunho, envia o desenho (peças e conexões no mesmo formato do editor do painel), confere se ele pode executar e ativa. Cada gravação vira uma versão nova, e as antigas podem ser restauradas.
O que dá para fazer hoje
- Listar e consultar processos, com o desenho da versão atual.
- Criar um processo em rascunho, já com o desenho.
- Salvar o desenho numa versão nova.
- Editar nome, descrição, setor e responsável.
- Conferir se o processo pode executar e quais papéis ele pede.
- Listar as versões e restaurar uma antiga.
- Ativar e desativar.
- Iniciar o processo num quadro, com a pessoa de cada papel.
- Acompanhar as execuções e cada etapa.
- Escolher a saída de uma etapa (ex.: Aprovado ou Ajustar).
- Cancelar uma execução.
Importante
- Pela API o processo sempre nasce em
Rascunho; ativar é uma ação própria. - Salvar o desenho substitui todas as peças e conexões numa versão nova; nada do histórico é apagado.
- Antes de ativar, use
GET /processes/{process}/validation: ela faz a mesma conferência da janela Iniciar processo do painel. - Iniciar, escolher saídas e cancelar execuções pede o escopo
processes:executee as mesmas permissões do quadro e da tarefa no painel; só aparecem execuções dos quadros que o usuário pode abrir.
Disponibilidade na API
Endpoints de Processos
Crie processos em rascunho, salve o desenho em versões, confira se podem executar, ative e acompanhe as execuções: iniciar, escolher saídas e cancelar. Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.
/api/v1/processes
Lista os processos
Exige `processes:read` e ver Gestão de Processos. Do mais novo para o mais antigo. O desenho vem só no detalhe.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
statusquery | string | Não | — |
searchquery | string | Não | Parte do nome. |
per_pagequery | integer | Não | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/processes" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
],
"links": [],
"meta": []
}Respostas possíveis
/api/v1/processes
Cria um processo em rascunho
Exige `processes:write` e criar em Gestão de Processos. Sempre nasce em `Rascunho` (ativar é a ação `activate`), com o desenho opcional na versão 1. O desenho é conferido: tipo de peça conhecido, id único, posição numérica e conexões entre peças existentes. Conexão sem `sourceHandle`/`targetHandle` usa `out`/`in`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Até 255 caracteres. |
layout | string | null | Não | `auto`: o servidor organiza o desenho inicial pelas conexões; `position` fica opcional. Valores: auto, . |
description | string | null | Não | — |
board_id | integer | null | Não | — |
sector_id | integer | null | Não | — |
responsible_user_id | integer | null | Não | — |
nodes | array<object> | Não | — |
edges | array<object> | Não | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/processes" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"name":"Produção de Reels","description":"Da pauta ao Reels publicado.","nodes":[{"id":"roteiro","type":"node_task","position":{"x":0,"y":0},"data":{"title":"Roteiro","templateId":2,"responsibleType":"role","roleName":"Criador de conteúdo"}},{"id":"aprovacao","type":"node_task","position":{"x":380,"y":0},"data":{"title":"Aprovação","responsibleType":"role","roleName":"Aprovador","dueDays":1,"instruction":"Assistir e escolher a saída.","conditions":[{"id":"aprovado","name":"Aprovado"},{"id":"ajustar","name":"Ajustar"}]}},{"id":"publicar","type":"node_task","position":{"x":760,"y":-120},"data":{"title":"Publicar","responsibleType":"role","roleName":"Criador de conteúdo","dueDays":1}},{"id":"doc","type":"node_note","position":{"x":0,"y":400},"width":300,"height":180,"data":{"note":"Tom direto, sem jargão."}}],"edges":[{"source":"roteiro","target":"aprovacao"},{"source":"aprovacao","sourceHandle":"condition:aprovado","target":"publicar"},{"source":"aprovacao","sourceHandle":"condition:ajustar","target":"roteiro"}]}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}
Exibe um processo com o desenho atual
Exige `processes:read`. `flow` traz as peças e conexões da versão atual, no formato do editor.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/processes/{process}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}
Atualiza os dados de um processo
Exige `processes:write` e editar em Gestão de Processos. Parcial: campo omitido fica como está. Cria uma versão nova que copia o desenho atual. O desenho muda por `PUT /processes/{process}/flow`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | Até 255 caracteres. |
description | string | null | Não | — |
board_id | integer | null | Não | — |
sector_id | integer | null | Não | — |
responsible_user_id | integer | null | Não | — |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/processes/{process}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"string","description":null,"board_id":1,"sector_id":1,"responsible_user_id":1}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/flow
Salva o desenho numa versão nova
Exige `processes:write` e editar em Gestão de Processos. Substitui todas as peças e conexões numa versão nova; a anterior fica no histórico e pode ser restaurada. Peças do modo Desenho (`node_step`, formas, notas) documentam; as do modo Automação (`node_task`, `node_subprocess`) executam. Veja `ProcessFlowNode` para os campos de cada peça. Com `layout: "auto"`, o servidor calcula a posição de cada peça pelas conexões (colunas da esquerda para a direita; retornos como o Ajustar não mudam as colunas; notas, textos e imagens soltos ficam onde estão), e `position` pode ser omitido.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
layout | string | null | Não | `auto`: o servidor organiza as peças pelas conexões e a posição de cada uma fica opcional. Valores: auto, . |
nodes | array<object> | Sim | — |
edges | array<object> | Sim | — |
Exemplo de requisição
curl -X PUT "$MICORE_BASE_URL/processes/{process}/flow" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"layout":"auto","nodes":[{"id":"string","type":"node_step","position":{"x":1,"y":1},"width":1,"height":1,"zIndex":1,"data":[]}],"edges":[{"id":null,"source":"string","sourceHandle":null,"target":"string","targetHandle":null}]}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/flow/arrange
Organiza o desenho atual
Exige `processes:write` e editar em Gestão de Processos. Reposiciona as peças do desenho atual pelas conexões (como `layout: "auto"`) numa versão nova; peças, conexões e parâmetros não mudam. Sem corpo.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/processes/{process}/flow/arrange" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/flow/nodes/{node}
Muda uma peça do desenho
Exige `processes:write` e editar em Gestão de Processos. Muda só a peça informada (pelo `id` dela no desenho) numa versão nova; o resto do desenho fica igual. `data` se junta aos dados atuais da peça; chave enviada como `null` sai. Peça que não existe responde 404.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
nodepath | string | Sim | `id` da peça no desenho (ex.: `aprovacao`). |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
position | object | Não | — |
width | number | null | Não | — |
height | number | null | Não | — |
zIndex | integer | null | Não | — |
data | object | Não | — |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/processes/{process}/flow/nodes/{node}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"position":{"x":760,"y":0},"data":{"dueDays":3,"instruction":null}}'Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/versions
Lista as versões do processo
Exige `processes:read`. Da mais nova para a mais antiga.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/processes/{process}/versions" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"version": 1,
"name": "string",
"status": "Rascunho",
"created_by": 1,
"created_at": "2026-10-20T10:00:00-03:00"
}
]
}Respostas possíveis
/api/v1/processes/{process}/versions/{version}/restore
Restaura uma versão antiga
Exige `processes:write` e editar em Gestão de Processos. Copia os dados e o desenho da versão escolhida para uma versão nova; nada do histórico é apagado.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
versionpath | integer | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/processes/{process}/versions/{version}/restore" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/validation
Confere se o processo pode executar
Exige `processes:read`. Mesma conferência da janela Iniciar processo do painel: devolve as etapas do modo Automação (com papel, prazo, quadro, coluna, modelo e saídas) e os papéis a preencher ao iniciar, ou `valid: false` com o motivo (por exemplo, sem Tarefa no modo Automação, Tarefa sem responsável, modelo desativado ou laço sem saída).
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/processes/{process}/validation" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"valid": true,
"message": null,
"roles": [
"Criador de conteúdo",
"Aprovador"
],
"steps": [
{
"node_id": "roteiro",
"type": "task",
"name": "Roteiro",
"role_name": "Criador de conteúdo",
"responsible_name": "Criador de conteúdo",
"due_days": 2,
"board_id": null,
"stage_name": null,
"task_template_id": 2,
"target_process_id": null,
"activation_rule": "all",
"outcomes": []
}
]
}
}Respostas possíveis
/api/v1/processes/{process}/activate
Ativa o processo
Exige `processes:write` e desabilitar em Gestão de Processos. Como no painel, não exige que o processo seja executável; confira antes com `validation`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/processes/{process}/activate" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/processes/{process}/deactivate
Desativa o processo
Exige `processes:write` e desabilitar em Gestão de Processos. Execuções em andamento continuam.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
processpath | integer | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/processes/{process}/deactivate" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"description": null,
"status": "Rascunho",
"current_version": 1,
"board_id": 1,
"sector_id": 1,
"responsible_user_id": 1,
"created_at": "2026-10-20T10:00:00-03:00",
"updated_at": "2026-10-20T10:00:00-03:00",
"flow": {
"layout": "auto",
"nodes": [
{
"id": "string",
"type": "node_step",
"position": {
"x": 1,
"y": 1
},
"width": 1,
"height": 1,
"zIndex": 1,
"data": []
}
],
"edges": [
{
"id": null,
"source": "string",
"sourceHandle": null,
"target": "string",
"targetHandle": null
}
]
}
}
}Respostas possíveis
/api/v1/process-executions
Lista as execuções de processo
Exige `processes:read` e ver Gestão de Processos. Só execuções dos quadros que o usuário da credencial administra ou de que participa (quem administra quadros vê todos), como na Gestão do Trabalho. Da mais nova para a mais antiga; as etapas vêm só no detalhe.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
statusquery | string | Não | — |
process_idquery | integer | Não | — |
board_idquery | integer | Não | — |
searchquery | string | Não | Parte do nome da execução. |
per_pagequery | integer | Não | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/process-executions" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 31,
"name": "Reels de novembro",
"status": "running",
"situation": {
"key": "on_time",
"label": "No prazo"
},
"process": {
"id": 12,
"name": "Produção de Reels"
},
"process_version": 3,
"board": {
"id": 4,
"name": "Conteúdo"
},
"stage_id": null,
"source_task_id": null,
"parent": null,
"roles": {
"Criador": 7,
"Aprovador": 3
},
"steps_total": 3,
"open_task_ids": [
902
],
"created_by": 3,
"created_at": "2026-11-09T10:00:00-03:00",
"completed_at": null,
"canceled_at": null,
"steps": [
{
"id": 81,
"node_id": "roteiro",
"order": 1,
"type": "task",
"name": "Roteiro",
"status": "completed",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": 901,
"due_date": "2026-11-11",
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-09T10:00:00-03:00",
"completed_at": "2026-11-10T15:20:00-03:00"
},
{
"id": 82,
"node_id": "aprovacao",
"order": 2,
"type": "task",
"name": "Aprovação",
"status": "active",
"role_name": "Aprovador",
"responsible_user_id": 3,
"responsible_name": "Bruno",
"task_id": 902,
"due_date": "2026-11-11",
"outcomes": [
{
"id": "aprovado",
"label": "Aprovado"
},
{
"id": "ajustar",
"label": "Ajustar"
}
],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-10T15:20:00-03:00",
"completed_at": null
},
{
"id": 83,
"node_id": "publicar",
"order": 3,
"type": "task",
"name": "Publicar",
"status": "pending",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": null,
"due_date": null,
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": null,
"completed_at": null
}
]
}
],
"links": [],
"meta": []
}Respostas possíveis
/api/v1/process-executions
Inicia um processo num quadro
Exige `processes:execute` e a permissão Importar processos em Gestão de Espaço, e que o usuário administre ou participe do quadro (403 `permission_denied`). Mesma regra da janela Iniciar processo: cada papel do processo (veja `GET /processes/{process}/validation`) precisa de uma pessoa em `roles`; `stage_id` é a coluna das Tarefas sem coluna própria; `source_task_id` é a tarefa que vira a execução (ativa, principal, do mesmo quadro e fora de outro processo) e é arquivada. Cria a tarefa de cada etapa inicial. Como no painel, não exige que o processo esteja `Ativo`. Desenho inválido ou papel sem pessoa responde 422 com o motivo.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
process_id | integer | Sim | — |
board_id | integer | Sim | Quadro onde a execução roda; as Tarefas sem quadro próprio são criadas nele. |
name | string | Sim | Diferencia uma execução da outra do mesmo processo. Até 255 caracteres. |
roles | object | null | Não | Pessoa (id do usuário) de cada papel, pelo nome do papel. |
stage_id | integer | null | Não | Coluna ativa do quadro para as Tarefas sem coluna própria. |
source_task_id | integer | null | Não | Tarefa que pediu a execução (ex.: a pauta); é arquivada. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/process-executions" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"process_id":12,"board_id":4,"name":"Reels de novembro","roles":{"Criador":7,"Aprovador":3}}'Exemplo de resposta JSON
{
"data": {
"id": 31,
"name": "Reels de novembro",
"status": "running",
"situation": {
"key": "on_time",
"label": "No prazo"
},
"process": {
"id": 12,
"name": "Produção de Reels"
},
"process_version": 3,
"board": {
"id": 4,
"name": "Conteúdo"
},
"stage_id": null,
"source_task_id": null,
"parent": null,
"roles": {
"Criador": 7,
"Aprovador": 3
},
"steps_total": 3,
"open_task_ids": [
902
],
"created_by": 3,
"created_at": "2026-11-09T10:00:00-03:00",
"completed_at": null,
"canceled_at": null,
"steps": [
{
"id": 81,
"node_id": "roteiro",
"order": 1,
"type": "task",
"name": "Roteiro",
"status": "completed",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": 901,
"due_date": "2026-11-11",
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-09T10:00:00-03:00",
"completed_at": "2026-11-10T15:20:00-03:00"
},
{
"id": 82,
"node_id": "aprovacao",
"order": 2,
"type": "task",
"name": "Aprovação",
"status": "active",
"role_name": "Aprovador",
"responsible_user_id": 3,
"responsible_name": "Bruno",
"task_id": 902,
"due_date": "2026-11-11",
"outcomes": [
{
"id": "aprovado",
"label": "Aprovado"
},
{
"id": "ajustar",
"label": "Ajustar"
}
],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-10T15:20:00-03:00",
"completed_at": null
},
{
"id": 83,
"node_id": "publicar",
"order": 3,
"type": "task",
"name": "Publicar",
"status": "pending",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": null,
"due_date": null,
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": null,
"completed_at": null
}
]
}
}Respostas possíveis
/api/v1/process-executions/{execution}
Exibe uma execução com as etapas
Exige `processes:read`. Traz cada etapa com a situação, o responsável, a tarefa, o prazo, as saídas desenhadas e a saída escolhida, e a situação da execução (no prazo, atrasada, parada, aguardando saída, concluída ou cancelada). Execução de quadro fora do acesso responde 404.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
executionpath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/process-executions/{execution}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 31,
"name": "Reels de novembro",
"status": "running",
"situation": {
"key": "on_time",
"label": "No prazo"
},
"process": {
"id": 12,
"name": "Produção de Reels"
},
"process_version": 3,
"board": {
"id": 4,
"name": "Conteúdo"
},
"stage_id": null,
"source_task_id": null,
"parent": null,
"roles": {
"Criador": 7,
"Aprovador": 3
},
"steps_total": 3,
"open_task_ids": [
902
],
"created_by": 3,
"created_at": "2026-11-09T10:00:00-03:00",
"completed_at": null,
"canceled_at": null,
"steps": [
{
"id": 81,
"node_id": "roteiro",
"order": 1,
"type": "task",
"name": "Roteiro",
"status": "completed",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": 901,
"due_date": "2026-11-11",
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-09T10:00:00-03:00",
"completed_at": "2026-11-10T15:20:00-03:00"
},
{
"id": 82,
"node_id": "aprovacao",
"order": 2,
"type": "task",
"name": "Aprovação",
"status": "active",
"role_name": "Aprovador",
"responsible_user_id": 3,
"responsible_name": "Bruno",
"task_id": 902,
"due_date": "2026-11-11",
"outcomes": [
{
"id": "aprovado",
"label": "Aprovado"
},
{
"id": "ajustar",
"label": "Ajustar"
}
],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-10T15:20:00-03:00",
"completed_at": null
},
{
"id": 83,
"node_id": "publicar",
"order": 3,
"type": "task",
"name": "Publicar",
"status": "pending",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": null,
"due_date": null,
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": null,
"completed_at": null
}
]
}
}Respostas possíveis
/api/v1/process-executions/{execution}/steps/{step}/outcome
Escolhe a saída de uma etapa
Exige `processes:execute` e ver Tarefas. Como no modal da tarefa: só quem está na tarefa da etapa, o gestor do quadro ou o administrador escolhe (403). `outcome` é o `id` de uma das `outcomes` da etapa (422 em `outcome` quando não existe). A tarefa é concluída e a execução segue pelo caminho da saída; uma saída de retorno (ex.: Ajustar) reabre a etapa anterior. Etapa já encerrada ou execução que não está em andamento responde 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
executionpath | integer | Sim | — |
steppath | integer | Sim | `id` da etapa em `steps`. |
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
outcome | string | Sim | Até 100 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/process-executions/{execution}/steps/{step}/outcome" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"outcome":"aprovado"}'Exemplo de resposta JSON
{
"data": {
"id": 31,
"name": "Reels de novembro",
"status": "running",
"situation": {
"key": "on_time",
"label": "No prazo"
},
"process": {
"id": 12,
"name": "Produção de Reels"
},
"process_version": 3,
"board": {
"id": 4,
"name": "Conteúdo"
},
"stage_id": null,
"source_task_id": null,
"parent": null,
"roles": {
"Criador": 7,
"Aprovador": 3
},
"steps_total": 3,
"open_task_ids": [
902
],
"created_by": 3,
"created_at": "2026-11-09T10:00:00-03:00",
"completed_at": null,
"canceled_at": null,
"steps": [
{
"id": 81,
"node_id": "roteiro",
"order": 1,
"type": "task",
"name": "Roteiro",
"status": "completed",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": 901,
"due_date": "2026-11-11",
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-09T10:00:00-03:00",
"completed_at": "2026-11-10T15:20:00-03:00"
},
{
"id": 82,
"node_id": "aprovacao",
"order": 2,
"type": "task",
"name": "Aprovação",
"status": "active",
"role_name": "Aprovador",
"responsible_user_id": 3,
"responsible_name": "Bruno",
"task_id": 902,
"due_date": "2026-11-11",
"outcomes": [
{
"id": "aprovado",
"label": "Aprovado"
},
{
"id": "ajustar",
"label": "Ajustar"
}
],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-10T15:20:00-03:00",
"completed_at": null
},
{
"id": 83,
"node_id": "publicar",
"order": 3,
"type": "task",
"name": "Publicar",
"status": "pending",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": null,
"due_date": null,
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": null,
"completed_at": null
}
]
}
}Respostas possíveis
/api/v1/process-executions/{execution}/cancel
Cancela uma execução
Exige `processes:execute` e a permissão Cancelar processo em Gestão de Espaço. Cancela também os subprocessos em andamento, arquiva as tarefas abertas e deixa o motivo como comentário nelas; etapas concluídas ficam no histórico. Execução que não está em andamento responde 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
executionpath | integer | Sim | — |
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
reason | string | null | Não | Até 1000 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/process-executions/{execution}/cancel" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"reason":"Pauta cancelada pelo cliente."}'Exemplo de resposta JSON
{
"data": {
"id": 31,
"name": "Reels de novembro",
"status": "running",
"situation": {
"key": "on_time",
"label": "No prazo"
},
"process": {
"id": 12,
"name": "Produção de Reels"
},
"process_version": 3,
"board": {
"id": 4,
"name": "Conteúdo"
},
"stage_id": null,
"source_task_id": null,
"parent": null,
"roles": {
"Criador": 7,
"Aprovador": 3
},
"steps_total": 3,
"open_task_ids": [
902
],
"created_by": 3,
"created_at": "2026-11-09T10:00:00-03:00",
"completed_at": null,
"canceled_at": null,
"steps": [
{
"id": 81,
"node_id": "roteiro",
"order": 1,
"type": "task",
"name": "Roteiro",
"status": "completed",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": 901,
"due_date": "2026-11-11",
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-09T10:00:00-03:00",
"completed_at": "2026-11-10T15:20:00-03:00"
},
{
"id": 82,
"node_id": "aprovacao",
"order": 2,
"type": "task",
"name": "Aprovação",
"status": "active",
"role_name": "Aprovador",
"responsible_user_id": 3,
"responsible_name": "Bruno",
"task_id": 902,
"due_date": "2026-11-11",
"outcomes": [
{
"id": "aprovado",
"label": "Aprovado"
},
{
"id": "ajustar",
"label": "Ajustar"
}
],
"outcome": null,
"child_execution_id": null,
"activated_at": "2026-11-10T15:20:00-03:00",
"completed_at": null
},
{
"id": 83,
"node_id": "publicar",
"order": 3,
"type": "task",
"name": "Publicar",
"status": "pending",
"role_name": "Criador de conteúdo",
"responsible_user_id": 7,
"responsible_name": "Ana",
"task_id": null,
"due_date": null,
"outcomes": [],
"outcome": null,
"child_execution_id": null,
"activated_at": null,
"completed_at": null
}
]
}
}