Who Sees What REST API preview
REST API access is in development for Who Sees What Enterprise and Lynceon, but it is not included in the product today because customer-facing token issuance is not available yet. This page previews the direction rather than documenting a provisioned entitlement.
The same planned capabilities are also expected over MCP for AI agents.
Access tiers
API and MCP access are planned for Who Sees What Enterprise and Lynceon, but are not included yet. The Enterprise floor is the intended entitlement boundary once customer-facing token issuance exists.
- A Who Sees What token can call the
/v1/whoseeswhat/*endpoints. - A Lynceon token can call those plus the
/v1/lynceon/*endpoints (the superset). - A call to an endpoint your token is not entitled to returns
403.
Planned base URL and authentication
Production base URLs and tokens are not issued yet. The examples below use placeholders so you can see the intended shape.
Every endpoint except /health requires a bearer token:
Authorization: Bearer <your-token>
Planned first call
List the audit templates your token can run:
curl -s https://<your-endpoint>/v1/whoseeswhat/templates \
-H 'authorization: Bearer <your-token>'
Then run one against a connected org and read the report:
curl -s -X POST https://<your-endpoint>/v1/whoseeswhat/templates/permission-audit/runs \
-H 'authorization: Bearer <your-token>' -H 'content-type: application/json' \
-d '{"orgId":"org_42"}'
Errors
Failures return a JSON envelope with a stable code:
{ "error": { "code": "forbidden", "message": "not entitled to ..." } }
| Status | code | Meaning |
|---|---|---|
| 400 | invalid_input | The request body or params failed the endpoint schema. |
| 401 | unauthorized | Missing or invalid token. |
| 403 | forbidden | Authenticated, but not entitled to this endpoint. |
| 404 | not_found | No such route. |
| 405 | method_not_allowed | The path exists under a different method. |
| 502 | upstream_error | The backend call failed. |
Safety
- Who Sees What scoping is enforced by the backend, so a script never exceeds the human caller’s own Salesforce access.
- Every call is audited; every call that reaches the backend is metered. Reads are read-only; running a template, running a scan, and creating a monitor are writes.
Preview reference
The preview endpoint-by-endpoint reference is on the API reference page.