Menú

Referencia de la API · CRM

Pipelines

crm · pipelines · 6 operaciones

GET/v1/crm/pipelines

List pipelines with their stages

crm.pipelines.list

LecturaIdempotenteDesde 2026-11-01

Lists the sales pipelines of the organization, in order, each with its stages (id, name, probability, won stage), lost reasons, seller access (always present: mode all when every seller sees it) and who created it. Use it first whenever you need a pipeline_id or a stage_id for another operation; stage ids are per pipeline. Does not include deal counts (see crm.pipelines.stage_counts).

Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_pipelines_listEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.list".

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

Parámetros

Sin parámetros.

Respuesta

dataarray<object>

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/crm/pipelines" \
  -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 "https://api.mb-suite.com/v1/crm/pipelines" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/crm/pipelines/{pipeline_id}

Get one pipeline

crm.pipelines.get

LecturaIdempotenteDesde 2026-11-01

Returns a single pipeline with its stages and lost reasons. Use crm.pipelines.list when you do not know the id.

Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_pipelines_getEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.get".

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

Parámetros

pipeline_idstringrutarequerido

The pipeline, by id (crm.pipelines.list).

Respuesta

idstring
org_idstring
namestring
currencystring

ISO 4217 code of the pipeline's deals by default.

stagesarray<object>
is_defaultboolean
created_atnumber
updated_atnumber
descriptionstring | null
lost_reasonsarray<object>
is_archivedboolean
ordernumber
accessobject

Which sellers see the pipeline (mode all when every seller does).

created_by_idstring | null

Who created it: a member's user id (members.members.list), or an AI position's ai-… id.

created_by_namestring | null

The name of who created it, resolved when the record is read.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -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 "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/crm/pipelines/{pipeline_id}/stage-counts

Count deals per stage of a pipeline

crm.pipelines.stage_counts

LecturaIdempotenteDesde 2026-11-01

Returns how many deals sit in each stage of a pipeline (stage id → count), using aggregation counts, without reading the deals. It counts every deal that points at the stage whatever its state (open, won, lost, archived, merged away): it is the check the stage editor runs before deleting a stage, not a funnel picture. For live deals use crm.analytics.summary or crm.deals.list.

Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_pipelines_stage_countsEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.stage_counts".

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

Parámetros

pipeline_idstringrutarequerido

The pipeline, by id (crm.pipelines.list).

Respuesta

countsobject

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}/stage-counts" \
  -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 "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}/stage-counts" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/crm/pipelines

Create a pipeline

crm.pipelines.create

EscrituraDesde 2026-11-01

Creates a sales pipeline with at least two stages (each with id, name, order, color, probability and rotting days; at most one won stage), optional lost reasons, default currency and seller access. Setting is_default moves the default flag from the other pipelines. Requires the manage_pipelines permission (CRM admins).

Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_createEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.create".

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

Parámetros

namestringcuerporequerido

The pipeline's name.

currencystringcuerporequerido

ISO 4217 code of the pipeline's deals by default (USD, ARS…).

stagesarray<object>cuerporequerido

Its stages, 2 to 30, in order.

descriptionstringcuerpoopcional

A line about what the pipeline is for.

lost_reasonsarray<object>cuerpoopcional

Its lost reasons.

is_defaultbooleancuerpoopcional

true makes it the default pipeline (the others lose the flag); the first pipeline is the default anyway.

accessobjectcuerpoopcional

Which sellers see the pipeline (all by default).

Respuesta

pipeline_idstring

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/crm/pipelines" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "currency": "CURRENCY",
  "stages": []
}'

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/pipelines" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "currency": "CURRENCY",
  "stages": []
}'
PATCH/v1/crm/pipelines/{pipeline_id}

Update a pipeline

crm.pipelines.update

EscrituraDesde 2026-11-01

Updates a pipeline's name, description, currency, stages, lost reasons, default flag, archived flag or seller access; send the fields at the top level or inside updates (as in crm.deals.update), not both. When the new stage set removes a stage that still has deals, pass stage_reassignments (from → to, never into the won stage); a removed stage must otherwise be empty. The open deals that move take the probability of their new stage unless it was set by hand (the deal's probability_overridden); changing a stage's probability does not change the deals already in it (the forecast weighs them with their stage's). Fields equal to the current ones are not a change: if nothing changes, nothing is written or audited and changed comes back false. Returns the pipeline as saved. Requires manage_pipelines.

Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.update".

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

Parámetros

pipeline_idstringrutarequerido

The pipeline, by id (crm.pipelines.list).

namestringcuerpoopcional

The pipeline's name.

descriptionstringcuerpoopcional

A line about what the pipeline is for.

currencystringcuerpoopcional

ISO 4217 code of the pipeline's deals by default (USD, ARS…).

stagesarray<object>cuerpoopcional

The whole list of stages (2 to 30): it replaces the current one.

lost_reasonsarray<object>cuerpoopcional

The whole list of lost reasons: it replaces the current one.

stage_reassignmentsarray<object>cuerpoopcional

Where the deals of each removed stage go (needed when a removed stage still has deals).

is_defaultbooleancuerpoopcional

true makes it the default pipeline (the others lose the flag).

is_archivedbooleancuerpoopcional

true archives the pipeline (it leaves the pickers; its deals keep it).

accessobjectcuerpoopcional

Which sellers see the pipeline.

updatesobjectcuerpoopcional

The same fields, grouped as in the other CRM edits (crm.deals.update…): send them here or at the top level, not both.

Respuesta

oktrue
pipelineobject
changedboolean

false when nothing changed: nothing was written and nothing was audited.

Errores

Ejemplo

curl -X PATCH "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -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 PATCH "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
DELETE/v1/crm/pipelines/{pipeline_id}

Delete an empty pipeline

crm.pipelines.delete

IrreversibleDesde 2026-11-01

Deletes a pipeline that has no deals (otherwise it fails with pipeline_not_empty: move or delete the deals first). The pipeline goes to the 30-day trash and can be restored. Irreversible outside the trash window; requires manage_pipelines.

Con una API key, este DELETE se ejecuta directo: el registro queda 30 días en la papelera y la respuesta trae su trash_item_id. Con un token OAuth, y por el MCP, pide dry_run → confirm_token.

Alcance
crm:write y «Permitir eliminar» (crm:delete en OAuth)
Permiso
Editar en el módulo · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.delete".

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

Parámetros

pipeline_idstringrutarequerido

The pipeline, by id (crm.pipelines.list): it must have no deals (pipeline_not_empty).

Respuesta

oktrue
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 DELETE "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -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 DELETE "https://api.mb-suite.com/v1/crm/pipelines/{pipeline_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"