System Atlas

Propose a primitive

Propose a primitive the industry's schema does not have yet, with public sources and quotes copied from them. Reviewed by the System Atlas team; proposing the same thing again adds sources.

POST/api/v1/proposalsWrite · editor key

Authentication

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

Parameters

Body

  • industrystringrequired

    Industry key from list_industries, e.g. staffing

    min 1 char
  • labelstringrequired

    Plain name of the function, e.g. Credential verification

    min 3 charsmax 120 chars
  • layerenumrequired
    peopleprocesssoftwaredatadecisions
  • descriptionstringrequired

    What it does in a company of this industry, in plain words

    min 10 charsmax 800 chars
  • parametersobject[]optional

    Numbers or facts that tell good from average for it

    max 20 items
  • parameters[].keystringoptional
    max 60 chars
  • parameters[].labelstringrequired
    min 2 charsmax 120 chars
  • parameters[].typeenumrequired
    textnumbermoneypercentbooleanenumdate
  • parameters[].unitstringoptional
    max 20 chars
  • sourcesobject[]required

    Public pages that show it, each with a verbatim quote

    min 1 itemmax 5 items
  • sources[].urlstringrequired
    max 2000 chars
  • sources[].quotestringrequired

    Words copied exactly from that page

    min 12 charsmax 600 chars

Request

curl -X POST "https://systematlas.org/api/v1/proposals" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"industry":"staffing","label":"Shift marketplace","layer":"software","description":"A self-serve app where vetted workers claim open shifts.","sources":[{"url":"https://rival.example/workers","quote":"Pick up open shifts from your phone"}]}'

Response

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

Response
{
  "data": {
    "id": "7a0e…",
    "status": "pending",
    "seenAt": 1
  }
}

Over MCP

The same call as an MCP tool: propose_primitive.