Skip to main content

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 answers 403 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_token as a credential: it is a quote identifier.