Finding
Multi-account support (GET /api/auth/accounts, POST /api/auth/switch, POST /api/auth/remove-account) declares cookieAuth in the live spec, and the live probe confirms it:
GET /api/auth/accounts -> 401 {"error":"Unauthorized","code":"unauthorized"}
A bearer sync-token client cannot obtain a cookie session, so this is structurally unavailable — the same category as Stripe checkout/portal.
However
A native client could offer its own multi-account support without these endpoints: hold several sync-tokens locally and switch which one InterlinedApiClient uses. That is a client-side feature, not an API one — worth a decision rather than an assumption.
Acceptance criteria
Finding
Multi-account support (
GET /api/auth/accounts,POST /api/auth/switch,POST /api/auth/remove-account) declarescookieAuthin the live spec, and the live probe confirms it:A bearer sync-token client cannot obtain a cookie session, so this is structurally unavailable — the same category as Stripe checkout/portal.
However
A native client could offer its own multi-account support without these endpoints: hold several sync-tokens locally and switch which one
InterlinedApiClientuses. That is a client-side feature, not an API one — worth a decision rather than an assumption.Acceptance criteria
CLAUDE.mdrecords the cookie-only status of these three endpoints with the 2026-09-15 probe result.CredentialStorefrom onesession.datto a keyed store, and coordinating withInterlinedList.Sync, which reads that exact file) or declare multi-account out of scope.