smart_toy Flowenti Robots API

Referência de ajuda da API Flowenti Robots

Flowenti Robots API

Este guia reúne os 15 endpoints oficiais necessários para integrar um robô de software na plataforma Flowenti.

URL base de produção
https://<host>/flowentisysman/v1
Autenticação via header Authorization Bearer
Authorization: Bearer eyJhbGciOiJIUzUxMiIs...

key Gestão de API Keys

O robô autentica-se com um JWT Authorization: Bearer JWT com os claims IsAPIKey='1' e RobotID, gerado no painel da organização. Trate o token como segredo e faça rotação periódica.

speed Limites de taxa e backoff

Polling muito frequente retorna 429 Rate Limit Exceeded. Intervalo de polling recomendado: 3–5 segundos. Em erros 5xx aplique backoff exponencial com tentativas.

Taxonomia de endpoints (15 chamadas)

Selecione uma categoria para filtrar a documentação.

key

1. Contexto e autenticação

GET ✓ Whitelist robô /organizations/user

Retorna o contexto da organização associada à API Key emitida para o robô. Deve ser chamado antes de qualquer outra solicitação.

Response 200 OK
{
  "organizations": [
    {
      "id": 14299,
      "name": "robots snippet",
      "administrator": false,
      "subscriptionname": "",
      "hasmultipleuser": false,
      "creation": "2026-09-07T14:00:12.282+02:00",
      "deleted": false,
      "icon": null
    }
  ]
}
  • organizationsLista das organizações ligadas à API key do robô: com um token de robô contém apenas uma.
  • idID numérico da organização: é o valor a usar como {idorganization} nos outros endpoints.
  • nameNome visível da organização.
  • administratortrue se o robô opera com permissões de administrador da organização.
  • subscriptionnameNome do plano/subscrição da organização (pode estar vazio).
  • hasmultipleusertrue se a organização tem vários utilizadores associados.
  • creationData/hora de criação da organização (ISO 8601).
  • deletedtrue se a organização foi eliminada (soft delete).
  • iconÍcone/logótipo da organização (null se não definido).
play_circle

2. Início de processos

GET ✓ Whitelist robô /startevents/organizations/{idorganization}

Descubra quais processos o robô está autorizado a iniciar na organização especificada.

Path Parameters
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
Response 200 OK
{
  "possiblestart": [
    {
      "id": 21,
      "name": "",
      "idtype": 0,
      "idprocessmodel": 88,
      "processmodelname": "Gestione Ordini",
      "idswimlane": 1,
      "swimlanename": "Lane 1",
      "idorganization": 14207,
      "assignmentmode": 0,
      "userschema": "[]"
    }
  ]
}
  • possiblestartLista de eventos de início disponíveis: cada entrada é um processo que o robô pode instanciar.
  • idID do evento de início: é o valor a usar como {idevent} no arranque do processo.
  • nameNome do evento de início (pode estar vazio).
  • idtypeTipo de evento de início definido no modelo BPMN.
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • processmodelnameNome do modelo de processo (BPMN) a que o evento de início pertence.
  • idswimlaneID da lane (swimlane) atribuída às atividades do processo arrancado.
  • swimlanenameNome da lane associada.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • assignmentmodeModo de atribuição de tarefas definido no modelo (0 = atribuição automática a partir da fila).
  • userschemaEsquema de utilizadores admitidos (JSON serializado) associado ao evento de início.
POST ✓ Whitelist robô /processes/

Instancia um novo processo BPMN gerando o token inicial de avanço.

Request Body
{
  "idprocessmodel": 88,
  "idorganization": 14207,
  "idevent": 21,
  "startdate": "2026-08-26T08:00:00Z",
  "enddate": null,
  "description": "Fattura #2026-0451",
  "descriptiondetail": "Emissione automatica da robot",
  "userdata": { "cliente": "Acme Spa" }
}
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • ideventID do evento de início do modelo que instancia o processo: escolher em /startevents/organizations/{idorganization}.
  • startdateData/hora de início do processo em formato ISO 8601 (ex. 2026-08-26T08:00:00Z).
  • enddateData/hora de fim do processo; null até o processo ser encerrado.
  • descriptionDescrição breve do processo, visível na interface (ex. Fatura #2026-0451).
  • descriptiondetailDescrição alargada opcional com os detalhes operativos da instância do processo.
  • userdataObjeto com dados livres ligados à instância (ex. cliente): persistentes durante toda a vida do processo.
Response 200 OK
{
  "process": {
    "id": 773019
  },
  "processtoken": {
    "id": 901,
    "state": 0
  },
  "previousprocesstoken": {
    "id": 901
  }
}
  • processProcesso instanciado: o campo id é a referência global para a leitura de anexos e consultas ao processo.
  • processtokenToken de avanço criado ou movido pela operação: é a unidade de trabalho que o robô conduz nó a nó.
  • idID do token de avanço: identificador único da unidade de trabalho.
  • stateEstado do token: 0 = à espera (todo), 1 = em execução (doing), 2 = concluída (done).
  • previousprocesstokenEstado do token antes da operação: útil para auditoria e para reconstruir o histórico do processo.
search_check

3. Descoberta de tarefas

info
Modelo operacional por polling: O modelo de integração de robôs da Flowenti é baseado em polling ativo . É o robô que consulta periodicamente o Flowenti para verificar se há novas tarefas prontas; o Flowenti não envia notificações push neste fluxo.
GET ✓ Whitelist robô /tasks/organizations/{idorganization}/canget

Consulta o sistema para verificar a existência de tarefas disponíveis que o robô pode assumir.

Path Parameters
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
Response 200 OK
{
  "waitingflownodes": [
    {
      "idprocesstoken": 901,
      "idflownode": 41,
      "designerid": "Task_EstrarreFatturePDF",
      "flownodename": "EstrarreFatturePDF",
      "idprocess": 773019,
      "idprocessmodel": 88,
      "idorganization": 14207,
      "processmodelname": "Gestione Ordini",
      "state": 0,
      "priority_name": "HIGH",
      "countcomments": 0,
      "countattachments": 2
    }
  ],
  "doingflownodes": []
}
  • waitingflownodesTarefas à espera (estado todo) que o robô pode assumir com nextstate/doing.
  • doingflownodesTarefas atualmente em execução (estado doing) pelo robô.
  • idprocesstokenID do token de avanço sobre o qual operar nas chamadas seguintes (nextstate, anexos, exit).
  • idflownodeID do nó de atividade: é o valor a usar como {idflownode} no body de nextstate.
  • designeridID alfanumérico do nó no diagrama BPMN (id XML do designer): necessário para /exit/{designerid} nos gateways.
  • flownodenameNome legível da atividade tal como desenhada no modelo BPMN.
  • idprocessID do processo a que a tarefa pertence: necessário para a leitura de anexos (/processes/{idprocess}/attachments/light).
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • processmodelnameNome do modelo de processo (BPMN) a que o evento de início pertence.
  • stateEstado do token: 0 = à espera (todo), 1 = em execução (doing), 2 = concluída (done).
  • priority_namePrioridade da tarefa definida no modelo (ex. HIGH): guia a ordem de processamento.
  • countcommentsNúmero de comentários presentes na tarefa (apenas leitura).
  • countattachmentsNúmero de anexos já presentes na tarefa (apenas leitura).
readiness_score

4. Avanço de tarefas

POST ✓ Whitelist robô /processes/{idtoken}/nextstate/doing

Notifica à Flowenti a tomada da tarefa pelo robô, mudando o estado do token para

Request Body
{
  "idflownode": 555,
  "iduserrobot": 17
}
  • idflownodeID do nó de atividade (flownode) a que a ação se refere: chega na lista waitingflownodes devolvida pelo polling.
  • iduserrobotID do utilizador/robô que executa a operação: o associado ao token JWT do robô.
Response 200 OK
{
  "idtoken": 888111,
  "state": 1,
  "claimedAt": "2026-08-27T14:33:02Z",
  "iduserrobot": 17
}
  • idtokenID do token cujo estado mudou em resultado da operação.
  • stateEstado do token: 0 = à espera (todo), 1 = em execução (doing), 2 = concluída (done).
  • claimedAtData/hora da assunção da tarefa (ISO 8601).
  • iduserrobotID do utilizador/robô que executa a operação: o associado ao token JWT do robô.
POST ✓ Whitelist robô /processes/{idtoken}/nextstate/done

Marca a conclusão bem-sucedida da tarefa e avança o fluxo para o próximo nó.

Request Body
{
  "idflownode": 555,
  "result": {
    "validated": true,
    "extractedFields": {
      "total": 1234.56,
      "vat": 258.86
    }
  }
}
  • idflownodeID do nó de atividade (flownode) a que a ação se refere: chega na lista waitingflownodes devolvida pelo polling.
  • resultPayload de resultado em formato livre com os dados produzidos pela tarefa (ex. campos extraídos): é guardado no processo e fica disponível para os nós seguintes.
Response 200 OK
{
  "process": {
    "id": 1661721,
    "idprocessmodel": 27613,
    "idorganization": 14299,
    "state": 0
  },
  "processtoken": {
    "id": 35093744,
    "idprocess": 1661721,
    "idflownode": 38882,
    "flownodetype": 0,
    "iduser": 21976,
    "state": 2,
    "previous": 35093743,
    "created": "...",
    "startdoing": "...",
    "done": "..."
  },
  "previousprocesstoken": {
    "id": 35093743,
    "state": 2,
    "idflownode": 40414
  },
  "previousflownode": {
    "id": 40414,
    "designerid": "Activity_1",
    "name": "prima task"
  },
  "flownode": {
    "id": 38882,
    "designerid": "Event_1blr1wv",
    "idtype": 1
  },
  "sequenceflows": []
}
  • processProcesso instanciado: o campo id é a referência global para a leitura de anexos e consultas ao processo.
  • processtokenToken de avanço criado ou movido pela operação: é a unidade de trabalho que o robô conduz nó a nó.
  • idID do token de avanço: identificador único da unidade de trabalho.
  • idprocessID do processo a que o token pertence.
  • idflownodeID do nó (atividade ou evento) em que o token se encontra.
  • flownodetypeTipo de nó (0 = evento, 1 = atividade, ...).
  • iduserID do utilizador/robô que tem o token a seu cargo (0 se em fila).
  • stateEstado do token: 0 = à espera (todo), 1 = em execução (doing), 2 = concluída (done).
  • previousID do token anterior no histórico do processo.
  • createdData/hora de criação do token (ISO 8601).
  • startdoingData/hora de assunção da tarefa; null até o token passar a doing.
  • doneData/hora de conclusão; null até o token passar a done.
  • previousprocesstokenEstado do token antes da operação: útil para auditoria e para reconstruir o histórico do processo.
  • previousflownodeNó de onde o token provém antes da operação.
  • flownodeNó (atividade ou evento) em que o token se encontra agora.
  • sequenceflowsFluxos de sequência alcançáveis a partir do nó atual: não vazio quando são necessárias decisões subsequentes.
POST ✓ Whitelist robô /processes/{idtoken}/undo

Anula a última ação do robô na tarefa (undo): traz o estado do token de Em execução (Doing, 1) de volta para Em espera (ToDo, 0) e devolve a tarefa à fila das disponíveis. É o único mecanismo de recuperação hoje suportado — não existem nextstate/error, failed ou abort — para usar quando o runtime do robô não consegue completar a atividade.

Response 200 OK
{
  "process": {
    "id": 1,
    "idorganization": 1,
    "idprocessmodel": 1,
    "startdate": "...",
    "enddate": null,
    "userdata": "{}"
  },
  "processtoken": {
    "id": 2,
    "idprocess": 1,
    "idflownode": 7,
    "flownodetype": 1,
    "iduser": 2,
    "state": 0,
    "previous": 0,
    "created": "...",
    "startdoing": null,
    "done": null
  },
  "flownode": {
    "id": 7,
    "name": "Attività 1",
    "designerid": "Activity_1"
  },
  "previousflownode": {
    "id": 6,
    "name": "Evento",
    "designerid": "StartEvent_1"
  },
  "previousprocesstoken": {
    "id": 1,
    "state": 2,
    "idflownode": 6,
    "flownodetype": 0,
    "iduser": 2,
    "previous": 0
  }
}
  • processProcesso instanciado: o campo id é a referência global para a leitura de anexos e consultas ao processo.
  • processtokenToken de avanço criado ou movido pela operação: é a unidade de trabalho que o robô conduz nó a nó.
  • idID do token de avanço: identificador único da unidade de trabalho.
  • idprocessID do processo a que o token pertence.
  • idflownodeID do nó (atividade ou evento) em que o token se encontra.
  • flownodetypeTipo de nó (0 = evento, 1 = atividade, ...).
  • iduserID do utilizador/robô que tem o token a seu cargo (0 se em fila).
  • stateEstado do token: 0 = à espera (todo), 1 = em execução (doing), 2 = concluída (done).
  • previousID do token anterior no histórico do processo.
  • createdData/hora de criação do token (ISO 8601).
  • startdoingData/hora de assunção da tarefa; null até o token passar a doing.
  • doneData/hora de conclusão; null até o token passar a done.
  • flownodeNó (atividade ou evento) em que o token se encontra agora.
  • previousflownodeNó de onde o token provém antes da operação.
  • previousprocesstokenEstado do token antes da operação: útil para auditoria e para reconstruir o histórico do processo.
account_tree Máquina de estados do token

Cada tarefa é representada por um token de processo com um estado numérico:

  • 0 — Em espera (todo)
  • 1 — Em execução (doing)
  • 2 — Concluída (done)

Transições principais: nextstate/doing para assumir, nextstate/done para concluir e undo para voltar à espera.

alt_route

5. Seleção de caminho (roteamento gateway)

POST ✓ Whitelist robô /processes/tokens/{idtoken}/exit/{designerid}

Seleciona a saída específica do gateway quando o fluxo BPMN encontra uma decisão condicional ou um ramo guiado pelo robô.

Request Body
{
  "reason": "validated_by_robot",
  "metadata": {
    "validationScore": 0.97
  }
}
  • reasonEtiqueta livre que documenta o motivo da escolha do ramo do gateway (ex. validated_by_robot).
  • metadataObjeto opcional com dados adicionais sobre a decisão (ex. pontuação de validação).
Response 200 OK
{
  "idtoken": 888111,
  "selectedExit": "approve",
  "designerid": "Gateway_approve_01",
  "advancedAt": "2026-08-27T14:34:01Z"
}
  • idtokenID do token cujo estado mudou em resultado da operação.
  • selectedExitNome da saída do gateway selecionada pelo robô.
  • designeridID alfanumérico do nó no diagrama BPMN (id XML do designer): necessário para /exit/{designerid} nos gateways.
  • advancedAtData/hora do avanço (ISO 8601).
attach_file

6. Anexos

warning Nota sobre a inconsistência dos caminhos de anexos:

Atenção durante o desenvolvimento: os anexos são escritos referenciando o token do nó ( /flownodes/{idprocesstoken}/attachments ), enquanto a leitura exige a referência ao processo global ( /processes/{idprocess}/attachments/light ). Use o parâmetro correto para evitar erros 404 Not Found.

POST ✓ Whitelist robô /flownodes/{idprocesstoken}/attachments

Envia um arquivo/documento anexado ao nó atual do processo (usa

Request Body
{
  "idorganization": 14207,
  "filename": "fattura_2026.pdf",
  "cloudlink": "",
  "idtype": 1,
  "description": "Fattura 2026",
  "blob": "<base64 del file>",
  "size": 24576
}
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • filenameNome do ficheiro com extensão, tal como deve constar no anexo.
  • cloudlinkURL cloud alternativo ao upload binário: se preenchido, o anexo aponta para um recurso remoto em vez do blob.
  • idtypeTipo de anexo (idtype): identificador da categoria de ficheiro gerida pela plataforma.
  • descriptionDescrição breve do processo, visível na interface (ex. Fatura #2026-0451).
  • blobConteúdo do ficheiro codificado em base64; size é o tamanho em bytes.
  • sizeTamanho do ficheiro em bytes, coerente com o conteúdo do blob.
Response 200 OK
{
  "idattachment": 7890,
  "idprocesstoken": 888111,
  "filename": "fattura_2026.pdf",
  "size": 24576,
  "uploadedAt": "2026-08-27T14:34:10Z"
}
  • idattachmentID do anexo criado: a referenciar em eventuais operações seguintes.
  • idprocesstokenID do token de avanço sobre o qual operar nas chamadas seguintes (nextstate, anexos, exit).
  • filenameNome do ficheiro com extensão, tal como deve constar no anexo.
  • sizeTamanho do ficheiro em bytes, coerente com o conteúdo do blob.
  • uploadedAtData/hora do upload (ISO 8601).
GET ✓ Whitelist robô /processes/{idprocess}/attachments/light

Lê a lista leve de todos os anexos do processo (usa

Path Parameters
  • idprocessID do processo a que a operação se refere: chega na resposta do arranque (/processes/) ou do polling.
Response 200 OK
{
  "attachments": [
    {
      "id": 7890,
      "idorganization": 1,
      "filename": "invoice-98765.pdf",
      "description": "",
      "idtype": 1,
      "cloudlink": "",
      "creation": "2026-09-09T14:34:10Z",
      "iduser": 0,
      "username": "",
      "activityname": "acct1"
    }
  ]
}
  • attachmentsLista dos anexos do processo: uma entrada por cada ficheiro carregado.
  • idID do anexo.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • filenameNome do ficheiro com extensão, tal como deve constar no anexo.
  • descriptionDescrição do anexo (vazia se não fornecida no upload).
  • idtypeTipo de anexo (idtype): identificador da categoria de ficheiro gerida pela plataforma.
  • cloudlinkURL cloud alternativo ao upload binário: se preenchido, o anexo aponta para um recurso remoto em vez do blob.
  • creationData/hora de criação do anexo (ISO 8601).
  • iduserID do utilizador que carregou o anexo (0 para os robôs).
  • usernameNome de utilizador de quem carregou o anexo (vazio para os robôs).
  • activitynameNome da atividade (nó BPMN) a que o anexo está associado.
playlist_play

7. Pull estendido de tarefas

GET ⚠ Whitelist necessária /tasks/organizations/{idorganization}/doing

Variante de /tasks/doing filtrada por organização. Devolve as tarefas Doing do robô atual para uma única organização.

Path Parameters
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
Response 200 OK
{
  "doingflownodes": [
    {
      "idprocesstoken": 1,
      "idprocess": 1,
      "idflownode": 7,
      "flownodename": "Attività 1",
      "priority_name": "Alta"
    }
  ]
}
  • doingflownodesTarefas atualmente em execução (estado doing) pelo robô.
  • idprocesstokenID do token de avanço sobre o qual operar nas chamadas seguintes (nextstate, anexos, exit).
  • idprocessID do processo a que a tarefa pertence: necessário para a leitura de anexos (/processes/{idprocess}/attachments/light).
  • idflownodeID do nó de atividade: é o valor a usar como {idflownode} no body de nextstate.
  • flownodenameNome legível da atividade tal como desenhada no modelo BPMN.
  • priority_namePrioridade da tarefa definida no modelo (ex. HIGH): guia a ordem de processamento.
travel_explore

8. Descoberta e configuração do robô

GET ✓ Whitelist robô /startevents

Descoberta global de todos os eventos de início disponíveis para o robô em todas as organizações. Alternativa cross-org a /startevents/organizations/{id}.

Response 200 OK
{
  "possiblestart": [
    {
      "id": 1,
      "name": "StartEvent_1",
      "idtype": 0,
      "idprocessmodel": 1,
      "processmodelname": "Modello A",
      "idswimlane": 1,
      "swimlanename": "Lane 1",
      "idorganization": 1,
      "assignmentmode": 1,
      "userschema": "..."
    }
  ]
}
  • possiblestartLista de eventos de início disponíveis: cada entrada é um processo que o robô pode instanciar.
  • idID do evento de início: é o valor a usar como {idevent} no arranque do processo.
  • nameNome do evento de início (pode estar vazio).
  • idtypeTipo de evento de início definido no modelo BPMN.
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • processmodelnameNome do modelo de processo (BPMN) a que o evento de início pertence.
  • idswimlaneID da lane (swimlane) atribuída às atividades do processo arrancado.
  • swimlanenameNome da lane associada.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • assignmentmodeModo de atribuição de tarefas definido no modelo (0 = atribuição automática a partir da fila).
  • userschemaEsquema de utilizadores admitidos (JSON serializado) associado ao evento de início.
GET ✓ Whitelist robô /robots/configurations/data/{idorganization}/{idprocessmodel}

Recupera a configuração JSON do robô para a organização e o modelo de processo indicados. Usada em bootstrap para ler parâmetros de driver, endpoints remotos, credenciais de integração.

Path Parameters
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
Response 200 OK
{
  "id": 1,
  "idorganization": 1,
  "idrobot": 1,
  "idprocessmodel": 1,
  "linkedto": "",
  "datajson": {
    "chiave": "valore"
  }
}
  • idID da linha de configuração.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • idrobotID do robô a que os dados se referem.
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • linkedtoReferência interna de ligação (normalmente vazia).
  • datajsonConfiguração e parâmetros runtime do robô em JSON livre: lida em bootstrap e interpretada pelo robô.
GET ✓ Whitelist robô /robots/organizations

Lista as organizações associadas ao robô atual com as respetivas tags (urgente, rotina, batch, etc.). Útil para encaminhar a tarefa à organização correta antes de a assumir.

Response 200 OK
{
  "idrobot": 1,
  "organizations": [
    {
      "id": 1,
      "name": "Org1",
      "tags": [
        {
          "id": 1,
          "name": "urgente",
          "idorganization": 1,
          "color": "#ff0000"
        }
      ]
    }
  ]
}
  • idrobotID do robô a que os dados se referem.
  • organizationsLista das organizações ligadas à API key do robô: com um token de robô contém apenas uma.
  • idID numérico da organização: é o valor a usar como {idorganization} nos outros endpoints.
  • nameNome visível da organização.
  • tagsTags associadas à organização (ex. urgente, rotina, batch).
  • tags.idID da tag.
  • tags.nameNome da tag (ex. urgente).
  • tags.idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • tags.colorCor da tag em formato hex (ex. #ff0000).
GET ✓ Whitelist robô /organizations/{idorganization}/robots/{id}/settings?idprocessmodel={idprocessmodel}

Definições por-robô para uma organização e modelo de processo específicos. O query param `idprocessmodel` é obrigatório: sem ele, o servidor procura a linha ao nível da organização (idprocessmodel is null), que normalmente não existe. Inclui o payload datajson com os parâmetros runtime do robô.

Path Parameters
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • idID do robô na organização: encontra-se na lista devolvida por /robots/organizations (campo idrobot).
  • idprocessmodel (query)ID do modelo de processo (BPMN) a que a operação se refere.
Response 200 OK
{
  "id": 1,
  "idorganization": 1,
  "idrobot": 1,
  "idprocessmodel": null,
  "linkedto": "",
  "datajson": {
    "properties": {
      "campo1 ssss": {
        "type": "...",
        "value": "Test"
      }
    }
  }
}
  • idID da linha de configuração.
  • idorganizationID da organização onde a operação é executada: a mesma associada à API key (JWT) do robô.
  • idrobotID do robô a que os dados se referem.
  • idprocessmodelID do modelo de processo (BPMN) a que a operação se refere.
  • linkedtoReferência interna de ligação (normalmente vazia).
  • datajsonConfiguração e parâmetros runtime do robô em JSON livre: lida em bootstrap e interpretada pelo robô.
  • propertiesMapa nome → {type, value} com os parâmetros runtime do robô.
warning

Tratamento de erros e estados de resposta

Todas as respostas de erro da Flowenti Robots API retornam uma estrutura JSON uniforme com o código de erro único e a mensagem de diagnóstico.

Formato padrão de resposta de erro JSON
{
  "error": {
    "code": "RESOURCE_TOKEN_NOT_FOUND",
    "message": "Il token 'tok_inv_123' specificato non corrisponde ad alcuna risorsa attiva.",
    "status": 404,
    "timestamp": "2026-08-24T12:00:00Z"
  }
}
Código HTTP Estado do erro Causa e estratégia de resolução para o robô
400 Bad Request Parâmetros incorretos O payload enviado está malformado ou campos obrigatórios estão ausentes. Verifique os tipos dos parâmetros.
401 Unauthorized Token JWT inválido Header Authorization: Bearer <JWT> ausente, expirado ou revogado. Regene o token pelo painel da organização.
403 Forbidden Permissões insuficientes O robô não tem permissão para iniciar ou modificar o processo na organização especificada.
404 Not Found Recurso inexistente O recurso solicitado não existe ou já não está disponível. Verifique se os identificadores e as referências enviados estão corretos.
409 Conflict Token já em uso Outro robô já assumiu a tarefa por meio da transição /doing.
429 Rate Limit Exceeded Muitas solicitações de polling O robô está consultando com muita frequência /tasks/organizations/{id}/canget. Aplique um atraso (backoff de 3–5 s).
500 Internal Error Erro do servidor Flowenti Problema temporário no servidor da Flowenti. Tente novamente com backoff exponencial.
code

Examples Code Hub

Código pronto para usar nos 15 endpoints reais
# 1. Contesto organizzazione associata all'API Key
# Auth: Authorization: Bearer <JWT> (claims IsAPIKey='1', RobotID=<id>)
import requests

API_TOKEN = "eyJhbGciOiJIUzUxMiIs.RobotID.claim.IsAPIKey.1..."
headers = {"Authorization": f"Bearer {API_TOKEN}"}
res = requests.get("https://<host>/flowentisysman/v1/organizations/user", headers=headers)
res.raise_for_status()
print(res.json()["organizations"][0]["name"])