System Atlas

Upsert registry gaps

Up to 200 gaps: what an organization has that no primitive of its schema covers.

POST/api/v1/admin/registry/gapsAdmin

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
  • gapsobject[]required
    min 1 itemmax 200 items
  • gaps[].keystringoptional

    Stable key; derived from the label when omitted

    min 1 charmax 80 charspattern ^[a-z0-9_]+$
  • gaps[].labelstringrequired

    What the organization has that no primitive covers

    min 1 charmax 120 chars
  • gaps[].layerenumoptional
    peopleprocesssoftwaredatadecisions
  • gaps[].detailstringoptional
    max 2000 chars
  • gaps[].sourceobjectrequired
  • gaps[].source.urlstringrequired

    Public web address the finding rests on

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

Request

curl -X POST "https://systematlas.org/api/v1/admin/registry/gaps" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"organization":"acmebuilders.example","gaps":[{"label":"Drone site surveys","layer":"process","source":{"url":"https://acmebuilders.example/services","kind":"website"}}]}'

Response

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

Response
{
  "data": {
    "organization": {
      "domain": "acmebuilders.example"
    },
    "results": [
      {
        "key": "drone_site_surveys",
        "created": true
      }
    ]
  }
}

Over MCP

The same call as an MCP tool: registry_upsert_gaps.