Lists the org's CRM lists (named groups of persons: static, dynamic or imported from a CSV), most recently updated first, paginated by cursor (limit up to 200). Filter by type. Each list carries its cached member_count and, if dynamic, its saved filter; member ids are not included: page through them with crm.lists.members.list.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_lists_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.list".
Custo declarado: até 202 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.
Returns a CRM list: name, description, type (static, dynamic or csv), color, icon, the cached member_count and when it was last counted, the saved filter of a dynamic list, the CSV import summary, owner (with owner_name) and dates. Member ids are not included by default; page through the members with crm.lists.members.list. With include_member_ids=true a static or csv list also returns person_ids: the saved ids exactly as stored, in order, including persons deleted or merged away since (useful to clean a list: crm.lists.members.list only returns the ones that still exist). Never for a dynamic list (it saves no ids) nor for a seller restricted to their own records (they page through crm.lists.members.list, which applies their scope): then person_ids does not come. The list is already read; resolving the owner's name may read their profile.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_lists_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.get".
Custo declarado: até 1 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
list_idstringrotaobrigatório
The list, by id (crm.lists.list).
include_member_idsbooleanqueryopcional
Static and csv lists: also return personIds, the stored ids as they are (with persons deleted since).
Resposta
idstring
org_idstring
namestring
typeenum
Valores: static, dynamic, csv
member_countnumber
created_atnumber
updated_atnumber
descriptionstring | null
colorstring | null
iconstring | null
last_resolved_atnumber | null
filterobject
csv_importobject
owner_idstring | null
owner_namestring | null
The name of the owner, resolved when the list is read.
shared_with_orgboolean
created_by_idstring | null
created_by_namestring | null
The name of who created it, resolved when the list is read.
Returns the persons in a list ordered by person id, paginated by cursor (limit up to 200). Static and CSV lists return their saved persons that still exist; a dynamic list applies its saved filter to the org's persons, scanning at most 2,000 persons per call (with labels or owners in the filter, only the persons that have them are scanned). Archived persons are left out unless include_archived is true, and merged-away duplicates never appear. Deleted or archived persons, persons outside a restricted seller's scope and that scan limit can leave a page with fewer members than limit (even none) while has_more is true: keep following next_cursor until has_more is false. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their records or fields are left out of the response (the permissions guide lists what each platform allows).
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_lists_members_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.members.list".
Custo declarado: até 2001 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
list_idstringrotaobrigatório
The list, by id (crm.lists.list).
limitintegerqueryopcional
How many items this page brings at most (default 20, up to 200).
Padrão: 20
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 list of persons, owned by the caller: static (person_ids, up to 5,000; a repeated id is saved and counted once, and an id that is not a person of the organization is not saved: it comes back in not_found), dynamic (a saved filter over persons: search text, company_ids, label_ids with label_mode any/all, owner_ids, countries, do_not_contact included/excluded, created_after) or csv (behaves like static; importing a CSV file is not part of this operation). The member count is computed on creation: for a static or csv list, the distinct ids that are persons of the organization; for a dynamic list, every person that matches the filter, archived persons and merged-away duplicates included (crm.lists.members.list leaves those out). Optional dry run: with dry_run=true nothing is written; it counts exactly as the creation and its preview says how many persons the list would start with (counts lists, member_count and, for a static or csv list, requested, the distinct ids sent, and not_found, the ones that are not persons of the organization), with up to 50 of the counted persons as items (id and name; a person outside a restricted seller's scope comes without their name; none for a dynamic list without criteria, which is every person and is counted without reading them) and a warning when ids came repeated or the count reached its limit of 30,000. Running the creation needs no confirm_token. The declared cost is the worst case (a dynamic list scans up to 30,000 persons); a call is charged what it really reads: a static list of N persons, N reads; an empty one, none. Requires create_list.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: create_list
Tool do MCP
crm_lists_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.create".
Custo declarado: até 30001 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
namestringcorpoobrigatório
The list's name (up to 100 characters).
typeenumcorpoobrigatório
static: the persons given in person_ids; dynamic: the persons that match filter; csv: the persons of an import.
Valores: static, dynamic, csv
descriptionstringcorpoopcional
What the list is for (up to 500 characters).
colorstringcorpoopcional
A hex color for the list (#3b82f6).
iconstringcorpoopcional
The icon the app shows next to the name.
person_idsarray<string>corpoopcional
Static and csv lists: the persons (crm.persons.list). Ids that are not persons of the organization are not stored and come back in notFound.
filterobjectcorpoopcional
Dynamic lists: the persons that match today, recomputed when read (search, company_ids, label_ids with label_mode any or all, owner_ids, countries, do_not_contact included or excluded, created_after in epoch ms).
shared_with_orgbooleancorpoopcional
true: every member of the organization sees it; false: only its owner.
Resposta
list_idstring
not_foundarray<string>
Static and csv lists: the ids sent that are not persons of the organization (not saved).
Updates the name, description, color, icon or sharing flag of a list (null clears description, color or icon) and, for a dynamic list only, its saved filter, which recomputes the member count. Send the fields at the top level or inside updates (not both: updates_conflict). Members of a static list change with crm.lists.members.add and crm.lists.members.remove. Returns the list as saved and changed: false when it already was that way (nothing written). Requires edit_list (a seller edits their own lists and the ones without owner).
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_lists_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.update".
Custo declarado: até 30001 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
list_idstringrotaobrigatório
The list, by id (crm.lists.list).
namestringcorpoopcional
The list's name (up to 100 characters).
descriptionstring | nullcorpoopcional
colorstring | nullcorpoopcional
iconstring | nullcorpoopcional
filterobjectcorpoopcional
Dynamic lists: the persons that match today, recomputed when read (search, company_ids, label_ids with label_mode any or all, owner_ids, countries, do_not_contact included or excluded, created_after in epoch ms).
shared_with_orgbooleancorpoopcional
true: every member of the organization sees it; false: only its owner.
updatesobjectcorpoopcional
The same fields, grouped as in the other CRM edits (crm.deals.update…): send them here or at the top level, not both.
Resposta
listobject
changedboolean
false when the list already was that way: nothing was written.
Creates a copy of a list named after it with the suffix in the caller's language: '(copia)', '(copy)' or '(cópia)', owned by the caller, with the same type, description, color, icon, members or filter, CSV summary and cached member count. The original is not touched. Requires create_list.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: create_list
Tool do MCP
crm_lists_duplicateNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.duplicate".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
curl-X POST "https://api.mb-suite.com/v1/crm/lists/{list_id}/duplicate" \
-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/lists/{list_id}/duplicate" \
-H"Authorization: Bearer $MB_TEST_KEY"
DELETE/v1/crm/lists/{list_id}
Delete a CRM list
crm.lists.delete
IrreversívelDesde 2026-11-01
Deletes a list; the persons in it are not touched. The sequences that auto-enrolled from it lose that link (the result says how many). The list goes to the 30-day trash: restoring it brings the list back, not its links to sequences. Requires delete_list (a seller deletes their own lists and the ones without owner).
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:writee «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo
Tool do MCP
crm_lists_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.delete".
Custo declarado: até 1001 leituras e 1001 escritas por chamada (contam na cota diária).
Parâmetros
list_idstringrotaobrigatório
The list, by id (crm.lists.list).
Resposta
unlinked_sequencesnumber
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.
Adds up to 2,000 persons (ids from crm.persons.list or crm.persons.lookup) to a static or CSV list; ids already in the list are ignored, ids that are not persons of the organization are not added (not_found), and the result says how many were added and the new member count. Sequences triggered by 'added to a list' start for the persons actually added. Not for dynamic lists, whose members come from their filter. Requires edit_list.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_lists_members_addNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.members.add".
Custo declarado: até 2001 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
list_idstringrotaobrigatório
The list, by id (crm.lists.list).
person_idsarray<string>corpoobrigatório
The persons to add or remove (up to 2,000).
Resposta
addednumber
member_countnumber
not_foundarray<string>
The ids that are not persons of the organization: not added.
Removes up to 2,000 persons from a static or CSV list; ids that are not in the list are ignored and the result says how many were removed and the new member count (an old stored id that is not a person is removed without changing the count). The persons themselves are not deleted. Not for dynamic lists. Requires edit_list.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_lists_members_removeNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.members.remove".
Custo declarado: até 2001 leituras e 1 escritas por chamada (contam na cota diária).
Recomputes and saves the cached member_count of a list: the saved persons that still exist, each once (static, csv), or the persons that match its filter now, archived persons and merged-away duplicates included (dynamic). Changes nothing else and leaves no audit entry (it is equivalent to a read). Idempotent. Optional dry run: with dry_run=true it counts the same way without saving, and its preview says the number (counts lists, member_count, the count now, and previous_member_count, the cached one) with up to 50 of the counted persons as items; running needs no confirm_token. The declared cost is the worst case (a dynamic list scans up to 30,000 persons); a call is charged what it really reads: the list plus its N saved persons for a static list. Any member with access to the CRM can run it.
Escopo
crm:write
Permissão
Ver o módulo
Tool do MCP
crm_lists_refresh_countNa superfície completa; na compacta, mb_execute_operation com id: "crm.lists.refresh_count".
Custo declarado: até 30001 leituras e 1 escritas por chamada (contam na cota diária).