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.
/api/v1/signalsWrite · editor keyAuthentication
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.
{
"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.