Upsert registry gaps
Up to 200 gaps: what an organization has that no primitive of its schema covers.
POST
/api/v1/admin/registry/gapsAdminAuthentication
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[]requiredmin 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[].layerenumoptionalpeopleprocesssoftwaredatadecisions
- gaps[].detailstringoptionalmax 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.titlestringoptionalmax 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.