Menu

Referência da API · Branding

Subdomínio

branding · subdomain · 3 operações

POST/v1/branding/subdomain

Set the team's MB Suite subdomain

branding.subdomain.set

EscritaIdempotenteDesde 2026-11-01

Sets or replaces the organization's MB Suite subdomain for team access: subdomain is only the label (youragency for youragency.mb-suite.com), 3 to 63 lowercase letters, digits or hyphens, not a reserved one (api, mcp, app, www, admin, portal…: 400 subdomain_reserved) and not used by another organization nor by this organization's client portal (409 domain_unavailable). It is registered with the hosting provider and enabled right away; no DNS to configure. Replacing an existing subdomain registers the new one before releasing the old one (fires branding.domain.removed for it). The same label again changes nothing, except turning it on if it was off. Fires branding.domain.added. Owners and admins with edit access to Branding.

Pede confirmação: primeiro dry_run: true (prévia e confirm_token, válido por 10 minutos e por uma única execução), depois o mesmo corpo com confirm_token. Em algumas poucas, só com certos dados: a descrição diz quando. Por que e como: Prévia e confirmação.

Escopo
branding:write
Permissão
Editar no módulo · Só owner, admin
Tool do MCP
branding_subdomain_setNa superfície completa; na compacta, mb_execute_operation com id: "branding.subdomain.set".

Custo declarado: até 31 leituras e 1 escritas por chamada (contam na cota diária). Usa uma plataforma externa (vercel): conta na cota de operações externas.

Parâmetros

subdomainstringcorpoobrigatório

Only the label: youragency for youragency.mb-suite.com (3 to 63 letters, digits or hyphens).

Resposta

domainobject
previous_hoststring | null
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/branding/subdomain" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "subdomain": "SUBDOMAIN",
  "dry_run": true
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar. Na prática esta operação não é simulada (usa outra plataforma): responde 409 sandbox_external_unavailable.

POST/v1/branding/subdomain/toggle

Turn the team's subdomain on or off

branding.subdomain.toggle

EscritaIdempotenteDesde 2026-11-01

Turns the team's MB Suite subdomain on (enabled true) or off without removing it: off, the address stops opening the white-label app but stays reserved for the organization. Already in that state, nothing changes (changed false). Not found without a subdomain. Owners and admins with edit access to Branding.

Escopo
branding:write
Permissão
Editar no módulo · Só owner, admin
Tool do MCP
branding_subdomain_toggleNa superfície completa; na compacta, mb_execute_operation com id: "branding.subdomain.toggle".

Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).

Parâmetros

enabledbooleancorpoobrigatório

true turns the address on, false turns it off without removing it.

Resposta

domainobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/branding/subdomain/toggle" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "enabled": true
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl -X POST "https://api.mb-suite.com/v1/branding/subdomain/toggle" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "enabled": true
}'
DELETE/v1/branding/subdomain

Remove the team's subdomain

branding.subdomain.remove

IrreversívelDesde 2026-11-01

Removes the team's MB Suite subdomain: it stops opening MB Suite, it is released from the hosting provider (released_from_hosting false if the provider failed: the organization is cleaned anyway) and the label becomes available to other organizations. There is no trash: to undo, set it again with branding.subdomain.set (if nobody took it in between). Not found without a subdomain. Outside the app it needs a dry run and its confirm_token. Fires branding.domain.removed. Owners and admins with edit access to Branding.

Pede confirmação: primeiro dry_run: true (prévia e confirm_token, válido por 10 minutos e por uma única execução), depois o mesmo corpo com confirm_token. Em algumas poucas, só com certos dados: a descrição diz quando. Por que e como: Prévia e confirmação.

Escopo
branding:write e «Permitir exclusões» (branding:delete no OAuth)
Permissão
Editar no módulo · Só owner, admin
Tool do MCP
branding_subdomain_removeNa superfície completa; na compacta, mb_execute_operation com id: "branding.subdomain.remove".
Eventos que pode emitir
branding.domain.removed

Custo declarado: até 16 leituras e 1 escritas por chamada (contam na cota diária). Usa uma plataforma externa (vercel): conta na cota de operações externas.

Parâmetros

Sem parâmetros.

Resposta

removedtrue
domainobject
released_from_hostingboolean

Erros

Exemplo

curl -X DELETE "https://api.mb-suite.com/v1/branding/subdomain" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar. Na prática esta operação não é simulada (usa outra plataforma): responde 409 sandbox_external_unavailable.