Skip to main content
All authenticated endpoints take a bearer token:
There are two ways to get one, and which you want depends on whether a person or a machine is calling.

Device login (people)

An RFC 8628 device-authorization flow: request a device login, approve it in the browser, poll for the credential. This is what the Claude plugin’s /addison:login and sumcli login do for you. If you’re a person using an agent or a shell, use the plugin or sumcli rather than implementing the flow yourself.

Machine-to-machine (automation)

Your Summation admin issues a client_id and client_secret with scopes. Exchange them for an access token:
The exchange is form-encoded; all other endpoints use JSON bodies. Access tokens expire (about an hour). Refresh by exchanging again. For scripted work, prefer sumcli with an M2M profile: it manages the exchange and refresh for you.

Scopes

Tokens carry scopes that gate access. A valid token missing a scope gets a 403 with the missing scope named. The default rule is the HTTP method: GET needs agent:read, everything else needs agent:write. Identity endpoints (/v1/me, auth status, logout, org details) authenticate but require no scope at all. Three sets of operations break that rule, and each one bites.

File imports are agent:write, not tables:append

The name suggests otherwise, but every file-import operation enforces agent:write: tables:append will not open any of them.

Some GETs need tables:append

agent:read is not enough for these: they sit inside the append surface, so a read-only token gets a 403:

Some POSTs need only agent:read

These are reads exposed over POST because they take a body. A read-only token is sufficient:
The full tables:append set is: POST/PUT /v1/tables/{table_id}/rows, all five /v1/tables/{table_id}/ingestion-batches operations, the three /v1/data-syncs/{sync_id} operations, and POST /v1/sum-apps / DELETE /v1/sum-apps/{slug}. Everything else follows the method rule above.
Never paste a personal bearer token into client config. For MCP clients, headerless registration plus browser approval is the supported path for people. See MCP Server.