Hub & account API

The signed-in person's own account (profile, photo, password, two-step sign-in, app passwords, sessions and sign-in history, notifications, pinned apps), their organisation's basics and licences, platform search — and sign-in itself: the session endpoints, API keys and the OpenID Connect provider.

Address
https://<your-org>.brambleit.cloud/api
Sign-in
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Address
https://<your-org>.brambleit.cloud
Sign-in
None for the sign-in endpoints themselves; some need the session_id cookie.
Address
https://<your-org>.brambleit.cloud/hub
Sign-in
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Endpoints
79
OpenAPI
hub.json
Guides
How Hub & your account works

Two generations of account routes. /v1/user/... and /v1/tenant/... are current. The unversioned /user/... and /tenant/... routes are the originals, kept for older pages; they return the same data. Use /v1.

Sign-in routes (/auth/...) are on your organisation's address too, but are served by BRM-Auth, not BRM-API (no /api prefix). Scripts don't need them: use an API key instead.

Resources

Profile

The signed-in person's own details and photo.

MethodPathSummary
GET/v1/userGet your account
GET/v1/user/emailGet your email address
GET/v1/user/pictureGet your photo
PUT/v1/user/pictureSet your photo
DELETE/v1/user/pictureRemove your photo
GET/user/infoGet your account (legacy)
GET/user/nameGet your name (legacy)
GET/user/emailGet your email address (legacy)
GET/user/pictureGet your photo (legacy)

Password & two-step sign-in

Change your password; set up two-step sign-in (generate a secret, show it as a QR code, verify a code from the authenticator to switch it on); switch it off.

MethodPathSummary
GET/v1/user/2faIs two-step sign-in on?
POST/v1/user/2fa/disableSwitch off two-step sign-in
POST/v1/user/2fa/verifySwitch on two-step sign-in
POST/v1/user/2fa/generateStart setting up two-step sign-in
GET/user/2faIs two-step sign-in on? (legacy)
POST/user/2fa/generateStart setting up two-step sign-in (legacy)
POST/user/2fa/verifySwitch on two-step sign-in (legacy)
POST/user/2fa/disableSwitch off two-step sign-in (legacy)
POST/user/password/changeChange your password

Sessions & sign-in history

Where you're signed in (and signing out of those), and your recent sign-ins.

MethodPathSummary
GET/v1/user/login_historyYour last 15 sign-ins
GET/v1/user/login_history/monthYour sign-ins in the last month
GET/v1/user/sessionsWhere you're signed in
POST/v1/user/sessions/revokeSign out one session
POST/v1/user/sessions/revoke_allSign out everywhere
GET/user/login_historyYour recent sign-ins (legacy)
GET/user/login_history/monthYour sign-ins in the last month (legacy)

App passwords

Passwords for mail, calendar and contacts apps that can't do Bramble's two-step sign-in. Each is shown once when created, and can be revoked on its own.

MethodPathSummary
GET/v1/user/app-passwordsList your app passwords
POST/v1/user/app-passwordsCreate an app password
DELETE/v1/user/app-passwords/:idRevoke an app password

Notifications

The notification centre (bell) and browser push: list and mark notifications read; register a browser for Web Push.

MethodPathSummary
GET/v1/user/notificationsList your notifications
POST/v1/user/notifications/readMark notifications read
GET/v1/user/push/keyGet the Web Push public key
POST/v1/user/push/subscribeRegister a browser for push notifications
POST/v1/user/push/unsubscribeStop push notifications to a browser

Pinned apps

Apps pinned to the launcher rail.

MethodPathSummary
GET/v1/user/faq/:serviceHelp articles for an app
GET/user/pinsList your pinned apps
POST/user/pinsPin an app
DELETE/user/pins/:pin_keyUnpin an app

Your organisation

Read-only views of your organisation for any member: its details, the licences it has, whether it's licensed for an app, its people, groups and domains. (Changing them is in the Admin Centre API.)

MethodPathSummary
GET/v1/tenant/infoGet your organisation
GET/v1/tenant/licensesYour organisation's licences
POST/v1/tenant/check-licenseIs the organisation licensed for an app?
GET/v1/tenant/usersPeople in your organisation
GET/v1/tenant/groupsGroups in your organisation
POST/v1/tenant/groups/membersMembers of a group
GET/v1/tenant/domainsYour organisation's domains
GET/tenant/infoGet your organisation (legacy)
GET/tenant/licensesYour organisation's licences (legacy)
POST/tenant/check-licenseIs the organisation licensed for an app? (legacy)

Platform search across the apps you're licensed for.

MethodPathSummary
GET/v1/searchSearch

Sign-in

BRM-Auth's sign-in endpoints, used by the sign-in page and by Bramble's own apps. Passwords are sent as the SHA3-512 hex digest of the password (the sign-in page hashes it in the browser; Bramble stores an scrypt hash of that). A successful sign-in sets the sso_session and session_id cookies. Failed attempts are limited to 10 per account per 15 minutes.

MethodPathSummary
POST/auth/mail/verifyCheck a mail sign-in (mail server only)
POST/auth/mail/tokenMail app sign-in (Bramble Mail only)
POST/auth/loginSign in
POST/auth/mfa/setup-generateStart required two-step setup during sign-in
POST/auth/mfa/setup-verifyFinish required two-step setup and sign in
POST/auth/forgot-passwordSend a password reset email
POST/auth/reset-passwordSet a new password from a reset link
POST/auth/register/check-slugPreview an organisation's address
POST/auth/find-workspaceFind your organisation's address
POST/auth/registerSign up a new organisation
GET/auth/verify-emailConfirm an email address from a sign-up link
POST/auth/refreshRenew the short-lived session token
GET/auth/validateIs this session still valid?
GET/auth/bridgeCarry a sign-in over to the organisation's address
POST/auth/logoutSign out
POST/auth/logout-allSign out everywhere
GET/auth/checkWho is signed in?

API keys

Create, list and revoke your own API keys (the Hub account page uses these). These take the session_id cookie, so you create keys from a signed-in browser; the key itself is then used with X-API-Key everywhere else.

MethodPathSummary
POST/auth/generate-api-keyCreate an API key
GET/auth/api-keysList your API keys
POST/auth/api-keys/:id/revokeRevoke an API key

OpenID Connect

Bramble as an OpenID Connect provider ("Sign in with Bramble"): discovery, keys, authorise and consent, token (authorisation code with PKCE, refresh token, device code), device authorisation for apps without a browser, and user info. See single sign-on.

MethodPathSummary
GET/.well-known/openid-configurationOpenID Connect discovery
GET/auth/oidc/jwks.jsonSigning keys (JWKS)
GET/auth/oidc/authorizeStart sign-in for an app (authorise)
GET/auth/oidc/consent-infoWhat the consent screen should show
POST/auth/oidc/consentAllow or deny an app
POST/auth/oidc/tokenGet tokens
POST/auth/oidc/device_authorizationStart device sign-in
GET/auth/oidc/deviceUnder /oidc/ because BRM-Gateway proxies /oidc/* (and /auth/oidc/* on a tenant domain) on every host; a root /device isn't routed
GET/auth/oidc/device/infoWhat a device code is for
POST/auth/oidc/device/decisionApprove or deny a device
GET/auth/oidc/userinfoThe signed-in person's claims

Web pages

These return pages for the browser rather than data.

  • GET /auth/forgot
  • GET /auth/reset-password
  • GET /auth/signup
  • GET /auth/provisioning
  • GET /
  • GET /403
  • GET /account
  • GET /account/2fa
  • GET /account/password
  • GET /account/licenses
  • GET /account/history
  • GET /apps
  • GET /assets/js/brm-sw.js