System Atlas

Upsert registry notes

Up to 200 notes and operating-reality findings on an organization or its components.

POST/api/v1/admin/registry/notesAdmin

Authentication

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

Parameters

Body

  • organizationstringrequired

    The organization's domain or website, as given to registry_upsert_organization

    min 3 charsmax 300 chars
  • notesobject[]required
    min 1 itemmax 200 items
  • notes[].componentstringoptional

    Component id, clientId or label; omit for a company-level note

    min 1 charmax 200 chars
  • notes[].bodystringrequired
    min 1 charmax 4000 chars
  • notes[].kindenumoptionaldefault "comment"

    comment, or the operating reality it records

    commentworkaroundinformal_channelbottleneckdependencytacit_rulemanual_handoff
  • notes[].sourceobjectoptional
  • notes[].source.urlstringrequired

    Public web address the finding rests on

    min 1 charmax 500 chars
  • notes[].source.kindenumoptionaldefault "website"
    websitecareersjob_postpressreviewfilingregistry
  • notes[].source.titlestringoptional
    max 200 chars

Request

curl -X POST "https://systematlas.org/api/v1/admin/registry/notes" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"organization":"acmebuilders.example","notes":[{"component":"estimating","kind":"manual_handoff","body":"Estimates are re-keyed into the accounting system.","source":{"url":"https://acmebuilders.example/careers/estimator","kind":"job_post"}}]}'

Response

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

Response
{
  "data": {
    "organization": {
      "domain": "acmebuilders.example"
    },
    "results": [
      {
        "component": "estimating",
        "noteId": "9c2d…",
        "created": true
      }
    ]
  }
}

Over MCP

The same call as an MCP tool: registry_upsert_notes.