Axuz Developers

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

Salva draft do user (TTL 7 dias).

  • Access: Team member
  • Service: https://api-flow.axuz.net

Accepted authentication

  • 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`.

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes
idpathstringyes

Request body

application/json · Required

NameTypeRequiredDescription
documentFlowDocumentno

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>yes
document.nodes[].idstringyes
document.nodes[].typestringyes
document.nodes[].positionFlowXYyes
document.nodes[].position.xnumberyes
document.nodes[].position.ynumberyes
document.nodes[].widthinteger | nullno
document.nodes[].heightinteger | nullno
document.nodes[].parentNodestringno
document.nodes[].extentstringno
document.nodes[].dataobjectyes
document.nodes[].styleobjectno
document.edgesarray<FlowEdge>yes
document.edges[].idstringyes
document.edges[].sourcestringyes
document.edges[].targetstringyes
document.edges[].typestringno
document.edges[].dataobjectno
client_idstringno
{
  "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"
}

Responses

204

Salvo.

400

Payload inválido.

NameTypeRequiredDescription
errorstringyes

401

JWT ausente/expirado.

NameTypeRequiredDescription
errorstringyes

403

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

NameTypeRequiredDescription
errorstringyes

404

Recurso não encontrado ou fora de escopo.

NameTypeRequiredDescription
errorstringyes

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

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

NameTypeRequiredDescription
errorstringyes

503

Redis não configurado.

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

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())