Sign in (OAuth 2.1)
For Claude Code, Claude Desktop, claude.ai and any MCP client that can open a browser.
No key is copied or stored anywhere.
Agent key
For CI, scripts, backends and clients with no sign-in flow. A bearer token you paste
into a config file.
Both are clamped to the same read plus safe-write ceiling. Authenticating differently
never widens what you can call, so choose on convenience rather than access.
Sign in with OAuth
The MCP endpoint is fronted by its own OAuth 2.1 authorization server, so a client only needs a URL. It registers itself, no client id or secret required.- The issuer is per hostname.
app.reputably.netand every verified white-label domain are each their own authorization server. Connect on the domain you actually use, and you sign in and consent on that domain’s branding. A token issued for one host is refused on another. - Discovery lives at the origin root, not under
/api:https://app.reputably.net/.well-known/oauth-authorization-server.
Create an agent key
Agent keys are managed by the agency owner in Settings → API & MCP. One active key per agency.- Rotating revokes every live key, not just the one shown on screen, and mints a fresh one. After it returns, no previous key works.
- Revoking a key does not disconnect OAuth apps. They are a separate credential with a separate lifecycle. Disconnect those under Connected apps.
- The key acts as the owner. Requests inherit that account’s workspace access, then get clamped to the read plus safe-write surface.
Bearer only
Every request on this surface authenticates with anAuthorization: Bearer header. A
browser cookie session can never drive it, by design: a cross-site request automatically
attaches cookies, and it can never attach a header. A 401 with a WWW-Authenticate
challenge means the header is missing, or the credential in it was revoked or is not
recognised.