What an API Token Can Reach
AutoCISO API tokens are deny-by-default. A token is not a general-purpose key to your workspace — it opens two specific doors and nothing else. This page is the complete list.
The allowlist
| Surface | Path | What it is |
|---|---|---|
| Supply chain security | /api/v1/sscs/* | 13 REST endpoints — SBOMs, components, findings, vendors |
| MCP | /mcp | The Model Context Protocol endpoint for AI clients — 23 tools |
Every other path returns 403 FORBIDDEN when called with an API token, whatever scopes that token carries:
{
"data": null,
"error": {
"code": "FORBIDDEN",
"message": "API tokens are not permitted on this endpoint"
}
}
The check happens in authentication, before routing and before any scope evaluation. There is no scope, plan, or role that widens it.
What this means in practice
You cannot use an API token to list employees, read the risk register over REST, pull ISO control status, download evidence, or drive onboarding. Those endpoints exist, but they answer only to an authenticated user session.
You can run a CI pipeline that uploads SBOMs and reads back findings, and you can give an AI assistant broad read access to compliance data through MCP.
If you want programmatic read access to risk, ISO, access intelligence, supplier, or audit data, MCP is the supported route — not REST. See the MCP Overview and the MCP Tool Catalog.
Explicit exclusions
Two exclusions are worth calling out because they surprise people:
Tokens cannot manage tokens
GET, POST, and DELETE on /api/v1/tokens reject API-token authentication with 403, even for a token whose org has every scope. Creating and revoking tokens requires an interactive Owner or Manager session. This prevents a leaked token from minting replacements for itself.
Tokens cannot reach the payload log
/api/v1/payloadlog/* explicitly denies API-token auth.
The two 403s
| Code | Meaning | Fix |
|---|---|---|
FORBIDDEN | The endpoint does not accept API tokens at all, or your plan lacks the supply_chain_security feature | Use a user session, or upgrade the plan. Adding scopes will not help. |
INSUFFICIENT_SCOPE | The endpoint accepts your token, but the token lacks the required scope | Reissue the token with the scope named in the message |
Getting FORBIDDEN on a path that is not under /api/v1/sscs/ or /mcp is expected behaviour, not a misconfiguration.
Feature gating on top of the allowlist
Reaching /api/v1/sscs/* is necessary but not sufficient. Those routes are also gated by the supply_chain_security plan entitlement. If your plan does not include it, every SSCS endpoint returns 403 even with a perfectly scoped token.
Next steps
- API Scopes — the endpoint-by-endpoint scope matrix
- Obtaining an API Token
- API Quickstart
- MCP Overview — for broad read access
Was this page helpful?