Menú

Referencia de la API · CRM

Borrado en cascada

crm · delete_cascade · 2 operaciones

POST/v1/crm/delete-cascade/preview

Preview a delete with linked records

crm.delete_cascade.preview

LecturaIdempotenteDesde 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).

Alcance
crm:read
Permiso
Editar en el módulo
Tool del MCP
crm_delete_cascade_previewEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.delete_cascade.preview".

Costo declarado: hasta 40 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

entity_typeenumcuerpoopcional

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

Valores: prospect, person, company, deal

entity_idstringcuerpoopcional

The root record, by id.

rootobjectcuerpoopcional

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

Respuesta

rootobject
will_deletearray<object>
will_keeparray<object>
will_unlinkobject
too_largeboolean

Errores

Ejemplo

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

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes 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

IrreversibleDesde 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.

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
crm:write y «Permitir eliminar» (crm:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
crm_delete_cascade_executeEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.delete_cascade.execute".

Costo declarado: hasta 400 lecturas y 300 escrituras por llamada (cuentan en el cupo diario).

Parámetros

entity_typeenumcuerpoopcional

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

Valores: prospect, person, company, deal

entity_idstringcuerpoopcional

The root record, by id.

rootobjectcuerpoopcional

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

Respuesta

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.

Errores

Ejemplo

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
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes 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
}'