Menu

Referência da API · CRM

Atividades

crm · activities · 8 operações

GET/v1/crm/activities

List activities (timeline of an entity, or the agenda)

crm.activities.list

LeituraIdempotenteDesde 2026-11-01

With entity_type + entity_id: the timeline of a deal, person, company or prospect (root notes, tasks, calls, meetings, emails and messages, newest first; replies and purged emails excluded; for API keys and third-party apps, emails of connected mailboxes appear only when the organization allows connected content and the credential was granted it; optional types filter). Without them: the agenda of tasks, calls and meetings by due date, with completion pending (default), done or all, an optional owner filter (team-wide only for managers; sellers get their own) and a due_from/dueTo window. Paginated by cursor.

Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_activities_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.list".

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

Parâmetros

limitintegerqueryopcional

How many items this page brings at most (see the maximum and the default in the schema).

Padrão: 50

cursorstringqueryopcional

The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.

entity_typeenumqueryopcional

With entity_id: that record's timeline. Without both: the agenda (tasks, calls and meetings).

Valores: deal, person, company, prospect

entity_idstringqueryopcional

The record whose timeline to list (with entity_type).

typesarray<enum>queryopcional

Only these types.

Valores: call, email, meeting, note, task, whatsapp, file, custom

completionenumqueryopcional

Agenda: pending (default), done or all.

Valores: pending, done, all

owner_idstringqueryopcional

Agenda: only this person's (a member's user id); a seller only sees their own.

owner_idsarray<string>queryopcional

Agenda: only these persons' (up to 10).

due_fromintegerqueryopcional

Agenda: due from this moment, epoch ms.

due_tointegerqueryopcional

Agenda: due until this moment, epoch ms.

Resposta

dataarray<object>
has_moreboolean
next_cursorstring

Erros

Exemplo

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

Get one activity with its replies

crm.activities.get

LeituraIdempotenteDesde 2026-11-01

Returns an activity (note, task, call, meeting, email, message…) with its links to deals, persons, companies and prospects, and the replies of a note in order. For API keys and third-party apps, an email of a connected mailbox is not found unless the organization allows connected content and the credential was granted it. Not found if the id does not exist, the email was deleted, or a seller cannot see the deal it belongs to.

Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_activities_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.get".

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

Parâmetros

activity_idstringrotaobrigatório

The activity, by id (crm.activities.list).

Resposta

activityobject
repliesarray<object>

Erros

Exemplo

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

Create a note, reply, task, call or meeting

crm.activities.create

EscritaDesde 2026-11-01

Creates an activity by type. note: HTML content (sanitized), mentions, optional attachments; task: subject, due date, priority, assignee; call: optional subject, outcome, duration, completed_now for a call that already happened; meeting: subject, date, provider, URL, attendees; reply: a note under parent_activity_id that inherits its links. For note/task/call/meeting pass target (the deal, person, company or prospect it belongs to): the activity is linked to that entity and its related ones, and links can narrow the set. Mentions notify the mentioned members. Requires create_activity.

Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_activities_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.create".
Eventos que pode emitir
crm.activity.created

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

Parâmetros

Sem parâmetros.

Resposta

activity_idstring

Erros

Exemplo

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

Update an activity (fields, pin, links)

crm.activities.update

EscritaDesde 2026-11-01

Updates an activity: subject, description, content, mentions (new ones are notified), due date, completed_at, duration, owner (a member), metadata (merged); pinned fixes it on top of the timeline; links replaces, per dimension given, the deals/companies/persons/prospects it belongs to (unknown ids are dropped). Requires edit_activity (owner or creator of the activity).

Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_activities_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.update".

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

Parâmetros

activity_idstringrotaobrigatório

The activity, by id (crm.activities.list).

updatesobjectcorpoobrigatório

The fields to change; the rest stay as they are.

Resposta

oktrue

Erros

Exemplo

curl -X PATCH "https://api.mb-suite.com/v1/crm/activities/{activity_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'

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 PATCH "https://api.mb-suite.com/v1/crm/activities/{activity_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'
POST/v1/crm/activities/{activity_id}/complete

Complete or reopen a task, call or meeting

crm.activities.complete

EscritaIdempotenteDesde 2026-11-01

Marks an activity as completed (completed: true, now) or pending again (false); a completed sequence task lets its enrollment continue and a completed call counts as an outbound contact. Requires edit_activity.

Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_activities_completeNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.complete".

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

Parâmetros

activity_idstringrotaobrigatório

The activity, by id (crm.activities.list).

completedbooleancorpoobrigatório

true marks it done now; false makes it pending again.

Resposta

oktrue

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/activities/{activity_id}/complete" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "completed": 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/activities/{activity_id}/complete" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "completed": true
}'
DELETE/v1/crm/activities/{activity_id}

Delete an activity

crm.activities.delete

IrreversívelDesde 2026-11-01

Deletes an activity and the replies of a note; they go to the 30-day trash and restore together. An email is not deleted but emptied (a tombstone that keeps the mail sync from recreating it) and does not go to the trash. Requires delete_activity.

Com uma API key, este DELETE roda direto: o registro fica 30 dias na lixeira e a resposta traz o seu trash_item_id. Com um token OAuth, e pelo MCP, pede dry_run → confirm_token.

Escopo
crm:write e «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo
Tool do MCP
crm_activities_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.delete".

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

Parâmetros

activity_idstringrotaobrigatório

The activity, by id (crm.activities.list).

Resposta

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.

Erros

Exemplo

curl -X DELETE "https://api.mb-suite.com/v1/crm/activities/{activity_id}" \
  -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 DELETE "https://api.mb-suite.com/v1/crm/activities/{activity_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/crm/activities/bulk/update

Reschedule, reassign or complete many activities

crm.activities.bulk.update

EscritaEm massa · até 500Desde 2026-11-01

Updates up to 500 activities in one call, with the changes inside updates (as in crm.activities.update): updates.due_date (epoch ms; null clears it), updates.owner_id (a member) and/or updates.completed. Activities that already are that way are left as they are (unchanged: completing one already done keeps the time it was done) and ids that do not exist (or deleted emails) are skipped (not_found). Rescheduling or completing tasks, calls and meetings updates the pending and overdue counts of their deals and prospects. Manager-tier only. 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
Permissão
Editar no módulo
Tool do MCP
crm_activities_bulk_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.bulk.update".

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

Parâmetros

activity_idsarray<string>corpoobrigatório

The activities (up to 500), by id (crm.activities.list).

updatesobjectcorpoobrigatório

The changes, applied to every activity of the batch.

Resposta

updatednumber

How many activities changed.

unchangednumber

How many activities already were that way: not written.

not_foundarray<string>

The ids that do not exist in the organization (or are merged-away duplicates): skipped.

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/activities/bulk/update" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "activity_ids": [
    "ACTIVITY_ID"
  ],
  "updates": {},
  "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/activities/bulk/update" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "activity_ids": [
    "ACTIVITY_ID"
  ],
  "updates": {},
  "dry_run": true
}'
POST/v1/crm/activities/bulk/delete

Delete many activities

crm.activities.bulk.delete

IrreversívelEm massa · até 500Desde 2026-11-01

Deletes up to 500 activities; each goes to the 30-day trash and can be restored one by one (an email is emptied instead, as with crm.activities.delete). deleted counts the activities that existed; the other ids come back in not_found. Manager-tier only. 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_activities_bulk_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.activities.bulk.delete".

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

Parâmetros

activity_idsarray<string>corpoobrigatório

The activities (up to 500), by id (crm.activities.list).

Resposta

deletednumber

How many activities were deleted (each one goes to the 30-day trash).

not_foundarray<string>

The ids that do not exist in the organization: nothing to delete.

trash_item_idsarray<string>

The trash items this deletion left, one per record: the item_id of platform.trash.restore (POST /trash/{item_id}/restore).

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/activities/bulk/delete" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "activity_ids": [
    "ACTIVITY_ID"
  ],
  "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/activities/bulk/delete" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "activity_ids": [
    "ACTIVITY_ID"
  ],
  "dry_run": true
}'