Lists the organization's activity timeline (its journal, history or log: who did or changed what): notes, meeting minutes, milestones and system events (type auto_event, written by MB Suite when something happens in other modules), newest first by default (order asc for oldest first), paginated by cursor (limit up to 200, default 25). Only top-level entries: the replies of an entry come from activity.entries.list_replies. Filters: type, child_org_id (in a workspace, the entries written about that Account), pinned (true or false; newest first only), created_after and created_before (epoch ms). An Account has its own timeline (the events of its modules): call it with that Account as the organization; with include_workspace_notes: true it also brings what its workspace wrote about it, merged by date (workspace_entry: true; only for the workspace's people). Members and viewers of a workspace only get the workspace's own entries and those about the Accounts assigned to them, as in the app. The page is completed up to limit (reading up to 600 entries per timeline). A system event can group several consecutive events of the same person and action (group_count): resource_id names the first, event_description the latest and grouped_resources lists them all (groups since 15-10-2026). resource_type comes in snake_case (task, media_plan…). Rows come without the author's photo (activity.entries.get has it).
Escopo
activity:read
Permissão
Ver o módulo
Tool do MCP
activity_entries_listNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.list".
Custo declarado: até 1403 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
limitintegerqueryopcional
Entries per page (1 to 200; default 25).
Padrão: 25
cursorstringqueryopcional
The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.
typeenumqueryopcional
Only this type: note, meeting, milestone or auto_event (the system events).
Valores: note, meeting, milestone, auto_event
child_org_idstringqueryopcional
In a workspace: only the entries written about this Account (an id of platform.orgs.list).
pinnedbooleanqueryopcional
true = only the pinned entries; false = only the unpinned (newest first only).
created_afterintegerqueryopcional
Only entries created at or after this time (epoch ms).
created_beforeintegerqueryopcional
Only entries created at or before this time (epoch ms).
orderenumqueryopcional
desc (default): newest first; asc: oldest first.
Valores: desc, asc · Padrão: "desc"
include_workspace_notesbooleanqueryopcional
Called on an Account (org_id of an Account), also bring the entries its workspace wrote about it, merged by date (each one with workspace_entry: true). Only for the workspace's people (403 otherwise). Not with pinned, nor with order asc.
Returns one entry of the activity timeline: type, author, dates, the Account it is about (child_org_id, child_org_name), labels, mentions, reply count, pin state, who has seen it (seen_by: user id to ms) and the fields of its type — note: content (HTML) and content_plain_text; meeting: title, meeting_date, attendees, agenda, notes and action_items; milestone: title, description, icon and color; auto_event: event_action, event_description, the resource it talks about (resource_type in snake_case) and, in a group, group_count and grouped_resources. A reply is an entry too (parent_entry_id). 404 activity_entry_not_found if it does not exist or is about an Account the caller cannot see.
Escopo
activity:read
Permissão
Ver o módulo
Tool do MCP
activity_entries_getNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.get".
Custo declarado: até 2 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
entry_idstringrotaobrigatório
Activity entry id (from activity.entries.list).
Resposta
idstring
org_idstring
typeenum
Valores: note, meeting, milestone, auto_event
created_atnumber
created_by_idstring | null
created_by_namestring | null
created_by_photo_urlstring | null
Only in activity.entries.get.
updated_atnumber | null
child_org_idstring | null
child_org_namestring | null
parent_entry_idstring | null
reply_countnumber | null
label_idsarray<string> | null
mentionsarray<string> | null
is_pinnedboolean | null
pinned_atnumber | null
pinned_by_idstring | null
seen_byobject | null
contentstring | null
content_plain_textstring | null
titlestring | null
meeting_datenumber | null
attendee_idsarray<string> | null
attendee_namesarray<string> | null
agendastring | null
notesstring | null
notes_plain_textstring | null
action_itemsarray<object> | null
descriptionstring | null
description_plain_textstring | null
iconstring | null
colorstring | null
event_actionstring | null
System events: the audit action that produced it, e.g. content.task_created.
event_descriptionstring | null
System events: what happened, in words (in a group, the latest one).
resource_typestring | null
System events: the kind of record, in snake_case (task, media_plan, report…).
resource_idstring | null
System events: the record it talks about (in a group, the first one).
resource_namestring | null
sourcestring | null
group_countnumber | null
System events: how many consecutive events of the same person and action (within 5 minutes) this entry groups; absent or 1 = one.
grouped_resourcesarray<object>
System events grouped since 15-10-2026: every record of the group (id, name, at); older groups only name the first one.
workspace_entryboolean
With include_workspace_notes: true when the entry is one the workspace wrote about this Account.
Lists the replies of a top-level entry, oldest first (as the thread shows them), paginated by cursor (limit up to 200). Each reply is a note with parent_entry_id. 404 activity_entry_not_found if the entry does not exist or the caller cannot see it.
Escopo
activity:read
Permissão
Ver o módulo
Tool do MCP
activity_entries_list_repliesNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.list_replies".
Custo declarado: até 203 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
entry_idstringrotaobrigatório
The top-level entry (from activity.entries.list).
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.
Creates a top-level entry on the activity timeline, as the caller. type note: content (HTML or plain text; plain text becomes paragraphs) and optional content_plain_text (derived when missing). type meeting: title, meeting_date (ms, default now), attendee_ids, attendee_names, agenda, notes and action_items ({ id, text, assignee_id, is_completed }; turn one into a task with activity.entries.create_task). type milestone: title, description, color (a CSS color such as #f59e0b) and icon (a Material Design Icons SVG path). Every type takes label_ids (from activity.labels.list; unknown ids are ignored), mentions (user ids of people with access to the organization: each one gets an in-app notification; other ids are ignored) and, in a workspace, child_org_id to write it about one of its Accounts (400 invalid_account otherwise). HTML sent from outside the app is sanitized. Replies go through activity.entries.reply; system events cannot be created. Needs an active subscription (402 subscription_required). Returns the new entry.
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_createNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.create".
curl-X POST "https://api.mb-suite.com/v1/activity/entries" \
-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/activity/entries" \
-H"Authorization: Bearer $MB_TEST_KEY"
POST/v1/activity/entries/{entry_id}/replies
Reply to an activity entry
activity.entries.reply
EscritaDesde 2026-11-01
Replies to a top-level entry with a note, as the caller: content (HTML or plain text), optional content_plain_text and mentions (people with access to the organization; each one is notified). The reply inherits the Account its entry is about (child_org_id, child_org_name), so whoever sees the entry sees the reply. The entry's reply_count goes up by one and its author gets an in-app notification (unless they wrote the reply or are mentioned in it). Replies are one level deep: replying to a reply is 400 nested_reply. Needs an active subscription. Returns the reply.
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_replyNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.reply".
Edits an entry. Only the fields of its type can change (400 field_not_editable otherwise): note — content, content_plain_text, mentions, label_ids, child_org_id; meeting — title, meeting_date, attendee_ids, attendee_names, agenda, notes, notes_plain_text, action_items, mentions, label_ids, child_org_id; milestone — title, description, description_plain_text, icon (null removes it), color, mentions, label_ids, child_org_id; a reply — content, content_plain_text, mentions. System events (auto_event) cannot be edited, and the author, dates, pin and read state never change here. A plain-text field changes only together with its HTML field (it is derived when missing). action_items replaces the whole list; each item's linked_task_id is kept by the server and ignored on input. child_org_id moves a workspace entry to one of its Accounts (400 invalid_account otherwise) and null takes it off its Account; its replies follow it (up to 400; more is 409 too_many_replies). Newly mentioned people are notified. Unknown fields are rejected. Returns the updated entry.
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_updateNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.update".
Custo declarado: até 27 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
entry_idstringrotaobrigatório
Activity entry id (from activity.entries.list).
updatesobjectcorpoobrigatório
The fields to change (only the ones of the entry's type).
Deletes an entry; a top-level entry takes its replies with it (up to 400; more is 409 too_many_replies). Everything stays 30 days in the trash, where an owner or admin can restore it (platform.trash.restore): it comes back with its replies, unpinned. Deleting a reply lowers its entry's reply_count. Any member with full access can delete any entry, as in the app. Outside the app it needs a dry run and a confirm_token, except a REST DELETE with a key allowed to delete. Needs an active subscription.
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
activity:writee «Permitir exclusões» (activity:delete no OAuth)
Permissão
Editar no módulo
Tool do MCP
activity_entries_deleteNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.delete".
Custo declarado: até 405 leituras e 402 escritas por chamada (contam na cota diária).
Parâmetros
entry_idstringrotaobrigatório
Activity entry id (from activity.entries.list).
Resposta
oktrue
replies_deletednumber
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.
Pins a top-level entry at the top of the timeline. Each scope keeps at most 3 pinned entries — the organization itself, and each Account a workspace writes about — so one more is 409 limit_reached (details.resource activity_pins): unpin one first (activity.entries.list with pinned=true lists them). Idempotent: pinning a pinned entry changes nothing (changed: false). Replies cannot be pinned (400 reply_not_pinnable). Needs an active subscription.
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_pinNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.pin".
Custo declarado: até 60 leituras e 1 escritas por chamada (contam na cota diária).
curl-X POST "https://api.mb-suite.com/v1/activity/entries/{entry_id}/pin" \
-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/activity/entries/{entry_id}/pin" \
-H"Authorization: Bearer $MB_TEST_KEY"
POST/v1/activity/entries/{entry_id}/unpin
Unpin an activity entry
activity.entries.unpin
EscritaIdempotenteDesde 2026-11-01
Unpins an entry so it goes back to its place in the timeline. Idempotent: unpinning an entry that is not pinned changes nothing (changed: false). Needs an active subscription when it changes something.
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_unpinNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.unpin".
Custo declarado: até 3 leituras e 1 escritas por chamada (contam na cota diária).
Turns an action item of a meeting into a task of the Tasks module, in this organization: the item's text is the title, its assignee (or nobody) the assignee, with the organization's default open status and priority, visible to the organization like any task, and the item gets linked_task_id. It needs full access to Tasks as well (403 task_access_denied), and a key or app needs the task_management:write scope besides activity:write (403 scope_insufficient). Idempotent: if the item is already linked to a task that still exists, it returns that task (created: false) and creates nothing. 400 not_a_meeting for other entry types, 404 action_item_not_found for an unknown item. Needs an active subscription. The new task fires task_management.task.created.
Instruções para agentes
Tell the person the task is in Tasks, assigned as the action item said (or unassigned), and whether it already existed (created: false).
Escopo
activity:write
Permissão
Editar no módulo
Tool do MCP
activity_entries_create_taskNa superfície completa; na compacta, mb_execute_operation com id: "activity.entries.create_task".