Axuz Developers

POST /teams/{teamId}/flowcharts/{id}/draft

Salva draft do user (TTL 7 dias).

  • Acesso: Membro da equipe
  • Serviço: https://api-flow.axuz.net

Autenticação aceita

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

Parâmetros

NomeEmTipoObrigatórioDescrição
teamIdpathstringsim
idpathstringsim

Corpo da requisição

application/json · Obrigatório

NomeTipoObrigatórioDescrição
documentFlowDocumentnão

Shape enxuta espelhando lib/types.ts:FlowDocument no client. Backend não valida a shape interna (opaco pro storage); os campos abaixo são o mínimo comum consumido pelo editor.

document.nodesarray<FlowNode>sim
document.nodes[].idstringsim
document.nodes[].typestringsim
document.nodes[].positionFlowXYsim
document.nodes[].position.xnumbersim
document.nodes[].position.ynumbersim
document.nodes[].widthinteger | nullnão
document.nodes[].heightinteger | nullnão
document.nodes[].parentNodestringnão
document.nodes[].extentstringnão
document.nodes[].dataobjectsim
document.nodes[].styleobjectnão
document.edgesarray<FlowEdge>sim
document.edges[].idstringsim
document.edges[].sourcestringsim
document.edges[].targetstringsim
document.edges[].typestringnão
document.edges[].dataobjectnão
client_idstringnão
{
  "document": {
    "nodes": [
      {
        "id": "string",
        "type": "string",
        "position": {},
        "width": 1,
        "height": 1,
        "parentNode": "string",
        "extent": "string",
        "data": {},
        "style": {}
      }
    ],
    "edges": [
      {
        "id": "string",
        "source": "string",
        "target": "string",
        "type": "string",
        "data": {}
      }
    ]
  },
  "client_id": "string"
}

Respostas

204

Salvo.

400

Payload inválido.

NomeTipoObrigatórioDescrição
errorstringsim

401

JWT ausente/expirado.

NomeTipoObrigatórioDescrição
errorstringsim

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NomeTipoObrigatórioDescrição
errorstringsim

404

Recurso não encontrado ou fora de escopo.

NomeTipoObrigatórioDescrição
errorstringsim

429

Limite de requisições excedido.

NomeTipoObrigatórioDescrição
errorstringsim

500

Erro interno. Tente de novo com backoff; reporte o X-Request-Id.

NomeTipoObrigatórioDescrição
errorstringsim

503

Redis não configurado.

NomeTipoObrigatórioDescrição
errorstringsim

Exemplos

O "Try it" está desligado nesta referência. Use os exemplos com a sua credencial de teste.

curl

curl -sS -X POST 'https://api-flow.axuz.net/teams/TEAM_ID/flowcharts/ID/draft' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"document":{"nodes":[{"id":"string","type":"string","position":{},"width":1,"height":1,"parentNode":"string","extent":"string","data":{},"style":{}}],"edges":[{"id":"string","source":"string","target":"string","type":"string","data":{}}]},"client_id":"string"}'

Node.js

const res = await fetch("https://api-flow.axuz.net/teams/TEAM_ID/flowcharts/ID/draft", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "document": {
      "nodes": [
        {
          "id": "string",
          "type": "string",
          "position": {},
          "width": 1,
          "height": 1,
          "parentNode": "string",
          "extent": "string",
          "data": {},
          "style": {}
        }
      ],
      "edges": [
        {
          "id": "string",
          "source": "string",
          "target": "string",
          "type": "string",
          "data": {}
        }
      ]
    },
    "client_id": "string"
  }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "POST",
    "https://api-flow.axuz.net/teams/TEAM_ID/flowcharts/ID/draft",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={
        "document": {
            "nodes": [
                {
                    "id": "string",
                    "type": "string",
                    "position": {},
                    "width": 1,
                    "height": 1,
                    "parentNode": "string",
                    "extent": "string",
                    "data": {},
                    "style": {},
                },
            ],
            "edges": [
                {
                    "id": "string",
                    "source": "string",
                    "target": "string",
                    "type": "string",
                    "data": {},
                },
            ],
        },
        "client_id": "string",
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())