System Atlas

Upload flows

Hand-offs between components, by component id, clientId or label.

POST/api/v1/workspaces/:slug/upload/flowsWrite · editor key

Authentication

Authorization: Bearer sa_… from the workspace owner or a member. Counts against the upload rate limit.

Parameters

Path

  • slugstringrequired

    Workspace slug

Body

  • companystringoptional

    Company slug; defaults to the workspace's own company

    min 1 charmax 80 chars
  • flowsobject[]required
    min 1 itemmax 200 items
  • flows[].fromstringrequired

    Component id, clientId or label

    min 1 charmax 200 chars
  • flows[].tostringrequired
    min 1 charmax 200 chars
  • flows[].flowTypeenumrequired
    moneyinformationmaterialworkenergycontrol
  • flows[].labelstringoptional
    max 200 chars
  • flows[].directionenumoptionaldefault "one_way"
    one_waytwo_way

Request

curl -X POST "https://systematlas.org/api/v1/workspaces/acme-builders/upload/flows" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"flows":[{"from":"tool/excel-estimates","to":"tool/quickbooks","flowType":"information","label":"approved budget"}]}'

Response

200 with the result in data (abbreviated here). Errors are listed in Errors and limits.

Response
{
  "data": {
    "results": [
      {
        "from": "tool/excel-estimates",
        "to": "tool/quickbooks",
        "created": true
      }
    ]
  }
}

Over MCP

The same call as an MCP tool: upload_flows.