TBBN.Merchant Platform docs
WORKING

Auth

post/v1/auth/merchant/login

Merchant rep login (password or OTP)

Request body

FieldTypeRequired
emailstring (email)
passwordstring

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/merchant/otp/request

Request email OTP for merchant rep login

Request body

FieldTypeRequired
emailstring (email)yes
post/v1/auth/merchant/otp/verify

Verify merchant rep OTP and issue a session

Request body

FieldTypeRequired
emailstringyes
codestringyes

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/member/register

Direct self-registration for a Marketplace profile (Phase 22) — the primary way anyone joins TBBN now. See docs/business/conflict-resolution-log.md item 18.

Request body

FieldTypeRequired
namestringyes
emailstring (email)
phonestring
post/v1/auth/member/otp/verify

Complete self-registration and issue a session

Request body

FieldTypeRequired
targetstringyes
codestringyes

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/seller/otp/request

Request OTP for a marketplace member's direct TBBN Exchange login

Request body

FieldTypeRequired
emailstring (email)yes
post/v1/auth/seller/otp/verify

Verify marketplace member OTP and issue a session

Request body

FieldTypeRequired
emailstringyes
codestringyes

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/seller/magic-link/request

Request a passwordless magic link for a marketplace member

Request body

FieldTypeRequired
emailstring (email)yes
get/v1/auth/seller/magic-link/consume

Consume a magic link token, issuing a session

Parameters

tokenqueryrequired

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/refresh

Rotate a refresh token for a new access token

Request body

FieldTypeRequired
refreshTokenstringyes

Response (200)

FieldTypeRequired
accessTokenstring
refreshTokenstring
post/v1/auth/logout

Revoke the current session

get/v1/auth/me

Resolve the current principal from the bearer token

Response (200)

FieldTypeRequired
principalTypemerchant_rep | marketplace_member
userIdstring (uuid)
merchantIdstring,null (uuid)
sellerIdstring,null (uuid)
rolestringnull