System Atlas

Confirm, flag or correct a finding

One signal on one public finding of a registry organization, as the key's user: confirm, flag (with reason), correct (with correction and a source_url that loads) or withdraw. One per person per finding; needs a verified email; rate-limited. Returns the finding's new state and counts. See Community verification.

POST/api/v1/signalsWrite · editor key

Authentication

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

Parameters

Body

  • refstringrequired

    The organization's registry ref, e.g. acme-builders-3f2a9c1d

    max 200 chars
  • findingstringrequired

    The finding, as get_organization names it: comp:<id>, val:<id> or flow:<id> (the 8-character handle or the full id), or link:<relation>:<other org ref> with relation funded_by, funds, parents or subsidiaries

    max 200 chars
  • kindenumrequired

    confirm: it matches its source. flag: it is wrong (reason required). correct: what it should say, with a public page that states it (source_url and correction required). withdraw: take your signal back.

    confirmflagcorrectwithdraw
  • reasonstringoptional

    Why it is wrong (flag)

    max 500 chars
  • source_urlstringoptional

    A public page that states the correction (correct)

    max 2000 chars
  • correctionstringoptional

    What the finding should say (correct)

    max 500 chars

Request

curl -X POST "https://systematlas.org/api/v1/signals" \
  -H "Authorization: Bearer sa_…" \
  -H "content-type: application/json" \
  -d '{"ref":"acme-builders-3f2a9c1d","finding":"comp:3f2a9c1d","kind":"confirm"}'

Response

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

Response
{
  "data": {
    "finding": "component:3f2a9c1d-…",
    "kind": "flag",
    "role": "member",
    "weight": 1,
    "state": "contested",
    "counts": {
      "confirmations": 1,
      "flags": 2,
      "corrections": 0
    },
    "contribution": null
  }
}

Over MCP

The same call as an MCP tool: submit_signal.