Authentication
OAuth discovery lives at
https://api.trybrein.com/.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.
With OAuth the person signs in, picks the workspace and approves the scopes Brein shows.
OAuth scopes
The policy is deny by default: a route is reachable through OAuth only if it is mapped to a scope. Anything unmapped is refused.
The
broker:read, broker:invoke and broker:admin scopes exist for compatibility. External integrations are switched off.
What OAuth never reaches
- Internal platform administration.
- Exporting the whole workspace, listing members or reading the audit log.
- A Form’s server keys.
- A Sender’s pace and settings (done in Brein).
Which actions require a person
A person is a Brein session or an OAuth client they connected. An API key is not: the tool answers403 with MISSING_HUMAN_IDENTITY.
Up to 50 contacts or companies, filing in a pipeline, archiving or unarchiving is applied without the yes.
Good practices
- Ask for the minimum scope.
- Keep keys in a secret store, never in a repository.
- Do not display a
quote_tokenas a credential: it is a quote identifier.
