System Atlas

Upsert taxonomy nodes

Up to 200 sectors, industries and segments by key.

POST/api/v1/admin/registry/taxonomyAdmin

Authentication

Authorization: Bearer sa_… from a System Atlas admin. Any other key gets 403. Counts against the upload rate limit.

Parameters

Body

  • nodesobject[]required
    min 1 itemmax 200 items
  • nodes[].keystringrequired
    min 1 charmax 80 charspattern ^[a-z0-9_]+$
  • nodes[].namestringrequired
    min 1 charmax 120 chars
  • nodes[].descriptionstringoptional
    max 2000 chars
  • nodes[].parentstringoptional

    Parent node key; omit for a top-level node under Universal

    min 1 charmax 80 charspattern ^[a-z0-9_]+$
  • nodes[].levelenumoptionaldefault "industry"
    sectorindustrysegment
  • nodes[].sortOrdernumberoptional
    ≥ 0≤ 10000

Request

curl -X POST "https://systematlas.org/api/v1/admin/registry/taxonomy" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"nodes":[{"key":"construction","name":"Construction","level":"industry"},{"key":"specialty_contractors","name":"Specialty contractors","parent":"construction","level":"segment"}]}'

Response

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

Response
{
  "data": {
    "results": [
      {
        "key": "construction",
        "id": "1d0f…",
        "created": false,
        "updated": false
      },
      {
        "key": "specialty_contractors",
        "id": "7a3c…",
        "created": true,
        "updated": false
      }
    ]
  }
}

Over MCP

The same call as an MCP tool: registry_upsert_taxonomy.