TBBN.Merchant Platform docs
WORKING

Businesses

post/v1/businesses

Create a Business, owned by the authenticated Marketplace member

Request body

FieldTypeRequired
namestringyes
descriptionstring

Response (201)

FieldTypeRequired
idstring (uuid)
ownerUserIdstring (uuid)
namestring
descriptionstringnull
statusACTIVE | SUSPENDED | DELETED
verificationStatusPENDING | VERIFIED | REJECTED
verificationReviewedAtstring,null (date-time)
verificationReviewedBystringnull
verificationNotesstringnull
createdAtstring (date-time)
updatedAtstring (date-time)
get/v1/businesses

List the authenticated Marketplace member's own Businesses

Parameters

ownerUserIdqueryoptional

Response (200)

get/v1/businesses/{id}

Get a Business

Parameters

idpathrequired

Response (200)

FieldTypeRequired
idstring (uuid)
ownerUserIdstring (uuid)
namestring
descriptionstringnull
statusACTIVE | SUSPENDED | DELETED
verificationStatusPENDING | VERIFIED | REJECTED
verificationReviewedAtstring,null (date-time)
verificationReviewedBystringnull
verificationNotesstringnull
createdAtstring (date-time)
updatedAtstring (date-time)
patch/v1/businesses/{id}

Update a Business (owner only)

Parameters

idpathrequired

Request body

FieldTypeRequired
namestringyes
descriptionstring

Response (200)

FieldTypeRequired
idstring (uuid)
ownerUserIdstring (uuid)
namestring
descriptionstringnull
statusACTIVE | SUSPENDED | DELETED
verificationStatusPENDING | VERIFIED | REJECTED
verificationReviewedAtstring,null (date-time)
verificationReviewedBystringnull
verificationNotesstringnull
createdAtstring (date-time)
updatedAtstring (date-time)
delete/v1/businesses/{id}

Soft-delete a Business (owner only)

Parameters

idpathrequired

Response (200)

FieldTypeRequired
idstring (uuid)
ownerUserIdstring (uuid)
namestring
descriptionstringnull
statusACTIVE | SUSPENDED | DELETED
verificationStatusPENDING | VERIFIED | REJECTED
verificationReviewedAtstring,null (date-time)
verificationReviewedBystringnull
verificationNotesstringnull
createdAtstring (date-time)
updatedAtstring (date-time)
get/v1/businesses/pending-verification

Ops-only in practice (Phase 34, fronted by apps/ops-console); no RBAC guard yet — see docs/security/rbac-strategy.md.

Response (200)

post/v1/businesses/{id}/verification

Unauthenticated by design (Phase 34) — interim ops-console review action; see BusinessesService.setVerification's doc comment.

Parameters

idpathrequired

Request body

FieldTypeRequired
statusPENDING | VERIFIED | REJECTEDyes
notesstring
reviewedBystring

Response (201)

FieldTypeRequired
idstring (uuid)
ownerUserIdstring (uuid)
namestring
descriptionstringnull
statusACTIVE | SUSPENDED | DELETED
verificationStatusPENDING | VERIFIED | REJECTED
verificationReviewedAtstring,null (date-time)
verificationReviewedBystringnull
verificationNotesstringnull
createdAtstring (date-time)
updatedAtstring (date-time)
post/v1/businesses/{businessId}/business-users

Invite a team member with a role (ADMIN+, Phase 34)

Parameters

businessIdpathrequired

Request body

FieldTypeRequired
userIdstring (uuid)yes
roleOWNER | ADMIN | DEVELOPER | ACCOUNT_MANAGERyes

Response (201)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
userIdstring (uuid)
roleOWNER | ADMIN | DEVELOPER | ACCOUNT_MANAGER
invitedBystring,null (uuid)
invitedAtstring (date-time)
acceptedAtstring,null (date-time)
get/v1/businesses/{businessId}/business-users

List a Business's team (ADMIN+)

Parameters

businessIdpathrequired

Response (200)

patch/v1/businesses/{businessId}/business-users/{userId}

Change a team member's role (ADMIN+)

Parameters

businessIdpathrequired
userIdpathrequired

Request body

FieldTypeRequired
roleOWNER | ADMIN | DEVELOPER | ACCOUNT_MANAGERyes

Response (200)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
userIdstring (uuid)
roleOWNER | ADMIN | DEVELOPER | ACCOUNT_MANAGER
invitedBystring,null (uuid)
invitedAtstring (date-time)
acceptedAtstring,null (date-time)
delete/v1/businesses/{businessId}/business-users/{userId}

Remove a team member (ADMIN+; cannot remove the owner)

Parameters

businessIdpathrequired
userIdpathrequired
post/v1/businesses/{businessId}/branches

Add a Branch (location) to a Business (owner only)

Parameters

businessIdpathrequired

Request body

FieldTypeRequired
namestringyes
addressLine1stringyes
addressLine2string
citystringyes
regionstring
postalCodestring
countrystringyes

Response (201)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
namestring
addressLine1string
addressLine2stringnull
citystring
regionstringnull
postalCodestringnull
countrystring
spaceStatusNOT_ENABLED | SPACE_ENABLED
createdAtstring (date-time)
get/v1/businesses/{businessId}/branches

List a Business's Branches

Parameters

businessIdpathrequired

Response (200)

patch/v1/branches/{id}

Update a Branch (owner only)

Parameters

idpathrequired

Request body

FieldTypeRequired
namestringyes
addressLine1stringyes
addressLine2string
citystringyes
regionstring
postalCodestring
countrystringyes

Response (200)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
namestring
addressLine1string
addressLine2stringnull
citystring
regionstringnull
postalCodestringnull
countrystring
spaceStatusNOT_ENABLED | SPACE_ENABLED
createdAtstring (date-time)
delete/v1/branches/{id}

Remove a Branch (owner only)

Parameters

idpathrequired
post/v1/branches/{id}/space-status

Toggle a Branch's Space eligibility flag (owner only). Phase 23 hook only — no Space product logic exists yet.

Parameters

idpathrequired

Request body

FieldTypeRequired
spaceStatusNOT_ENABLED | SPACE_ENABLEDyes

Response (200)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
namestring
addressLine1string
addressLine2stringnull
citystring
regionstringnull
postalCodestringnull
countrystring
spaceStatusNOT_ENABLED | SPACE_ENABLED
createdAtstring (date-time)
post/v1/businesses/{businessId}/merchant-links

Link a Merchant account to a Business (owner only, many-to-many)

Parameters

businessIdpathrequired

Request body

FieldTypeRequired
merchantIdstring (uuid)yes

Response (201)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
merchantIdstring (uuid)
statusACTIVE | REVOKED
linkedAtstring (date-time)
unlinkedAtstring,null (date-time)
post/v1/businesses/{businessId}/merchant-links/{linkId}/revoke

Revoke a Business<->Merchant link (owner only)

Parameters

businessIdpathrequired
linkIdpathrequired

Response (200)

FieldTypeRequired
idstring (uuid)
businessIdstring (uuid)
merchantIdstring (uuid)
statusACTIVE | REVOKED
linkedAtstring (date-time)
unlinkedAtstring,null (date-time)