TBBNMerchantDocs
Account

Team roles

More than one person can manage your Merchant or Business account. Invite teammates from your dashboard and give each one a role that fits their job. The account's creator is always the OWNER; that role can't be assigned, changed or removed.

A request made with an API key isn't limited by these roles — the key's own scopes and environment apply. Roles govern what each person can do when signed in.

Merchant account roles

RoleCan do
OWNEREverything
ADMINEverything: the team, Merchant settings, live and sandbox API keys, OAuth clients, webhooks, sellers
DEVELOPERSandbox API keys, OAuth clients, webhooks, the catalogue; view trades and analytics. Not live keys
ACCOUNT_MANAGERSellers; view trades, usage and analytics
OPERATIONSSellers and the catalogue; view trades and analytics
ACCOUNTANTView usage, billing, trades and analytics
SUPPORTView trades
VIEWERView trades, usage and analytics

Manage the team with POST /v1/merchants/{id}/users/invite, PATCH /v1/merchants/{id}/users/{userId}/role and DELETE /v1/merchants/{id}/users/{userId} (OWNER or ADMIN). A request a role doesn't allow returns 403.

Business account roles (TBBN Space)

RoleCan doLocation limit
OWNEREverything, including deleting the Business—
ADMINEverything except deleting the Business: the team, payouts, billing, production Space API keysNo
ACCOUNT_MANAGERLocations, Spaces, pricing, bookings, guest messages, billing, earnings and refundsNo
OPERATIONSLocations, Spaces, pricing, calendars, bookings, check-ins and guest messagesYes
ACCOUNTANTBilling and plan, statements, earnings and refunds; view bookingsNo
DEVELOPERSandbox Space API keys and webhooks; view bookings and billingNo
SUPPORTView bookings, answer guest messagesYes
RECEPTIONView bookings, check guests and members in, confirm drop-offs and pickups, answer guest messagesYes
VIEWERView bookings, billing and earningsYes

Location limits

OPERATIONS, SUPPORT, RECEPTION and VIEWER can be limited to some of a Business's locations with branchIds. A limited member sees and acts on only those locations, their Spaces, bookings and conversations; a Business-wide action (such as adding a location) is refused with 403. An empty list means every location.

curl -X POST https://api.tbbnetwork.com/v1/businesses/$BUSINESS_ID/business-users \
  -H "Authorization: Bearer $SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": "…", "role": "RECEPTION", "branchIds": ["…"]}'

Change a role or limit with PATCH /v1/businesses/{businessId}/business-users/{userId} ({ "role": "…", "branchIds": […] }); remove someone with DELETE on the same path. These need the OWNER or an ADMIN.

GET /v1/businesses returns the Businesses the signed-in person owns and those they're on the team of, each with myRole and myBranchIds.