Menu

Referência da API · CRM

Exclusão em cascata

crm · delete_cascade · 2 operações

POST/v1/crm/delete-cascade/preview

Preview a delete with linked records

crm.delete_cascade.preview

LeituraIdempotenteDesde 2026-11-01

Dry run of crm.delete_cascade.execute: for a prospect, person, company or deal (entity_type + entity_id, or root: { type, id }), returns what would be deleted (the root and the linked records nobody else references), what is kept because it is shared or is a real company (with the reasons) and how many deals/prospects would lose a link. Nothing is written: it is a read, so a credential without deletion can run it, but the person behind it needs the delete permission of that entity type (as in the app, where only they see the option).

Escopo
crm:read
Permissão
Editar no módulo
Tool do MCP
crm_delete_cascade_previewNa superfície completa; na compacta, mb_execute_operation com id: "crm.delete_cascade.preview".

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

Parâmetros

entity_typeenumcorpoopcional

The kind of the record to delete (the root). Send entity_type + entity_id, or root.

Valores: prospect, person, company, deal

entity_idstringcorpoopcional

The root record, by id.

rootobjectcorpoopcional

The root as crm.archive_cascade takes it: { type, id }. Send this or entity_type + entity_id, not both.

Resposta

rootobject
will_deletearray<object>
will_keeparray<object>
will_unlinkobject
too_largeboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/delete-cascade/preview" \
  -H "Authorization: Bearer $MB_API_KEY"

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/crm/delete-cascade/preview" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/crm/delete-cascade

Delete a record with its orphaned linked records

crm.delete_cascade.execute

IrreversívelDesde 2026-11-01

Deletes a prospect, person, company or deal (entity_type + entity_id, or root: { type, id }) and, in cascade, the linked records that only it referenced (for example the provisional company an intake created for a person, or the only person of a company); shared records, and a company that is not provisional when the root is a person, a prospect or a deal, are kept and unlinked (crm.delete_cascade.preview says why: not_placeholder, linked_deals…). The plan is rebuilt right before deleting. The root and everything deleted go together to the 30-day trash: restoring brings the records back (a root person is re-linked to their deals and lists), not the links removed from the kept records nor the root's change history. Requires the delete permission of that entity type. Outside the screen it requires a dry run and a confirm_token.

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
crm:write e «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo
Tool do MCP
crm_delete_cascade_executeNa superfície completa; na compacta, mb_execute_operation com id: "crm.delete_cascade.execute".

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

Parâmetros

entity_typeenumcorpoopcional

The kind of the record to delete (the root). Send entity_type + entity_id, or root.

Valores: prospect, person, company, deal

entity_idstringcorpoopcional

The root record, by id.

rootobjectcorpoopcional

The root as crm.archive_cascade takes it: { type, id }. Send this or entity_type + entity_id, not both.

Resposta

deleted_countnumber
kept_countnumber
trash_item_idstring

The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.

trash_item_idsarray<string>

Only when the deletion left more than one copy: all of them, the first being trash_item_id.

trash_expires_atnumber

When the copy leaves the trash for good (epoch ms): 30 days after the deletion.

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/delete-cascade" \
  -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.

curl -X POST "https://api.mb-suite.com/v1/crm/delete-cascade" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'