Menu

Referência da API · Inbox

Itens

social_inbox · items · 19 operações

GET/v1/social-inbox/itemsGET/v1/social-inbox/items/{item_id}GET/v1/social-inbox/items/countsGET/v1/social-inbox/items/{item_id}/conversationGET/v1/social-inbox/items/{item_id}/auditPOST/v1/social-inbox/items/{item_id}/replyPOST/v1/social-inbox/items/{item_id}/archivePOST/v1/social-inbox/items/bulk/archivePOST/v1/social-inbox/items/{item_id}/restorePOST/v1/social-inbox/items/{item_id}/readPOST/v1/social-inbox/items/{item_id}/assignPOST/v1/social-inbox/items/bulk/assignPOST/v1/social-inbox/items/{item_id}/take-ownershipPOST/v1/social-inbox/items/{item_id}/snoozePOST/v1/social-inbox/items/{item_id}/unsnoozePOST/v1/social-inbox/items/{item_id}/resolvePOST/v1/social-inbox/items/bulk/resolvePOST/v1/social-inbox/items/{item_id}/spamPOST/v1/social-inbox/items/{item_id}/labels
GET/v1/social-inbox/items

List Social Inbox items (comments, direct messages, mentions)

social_inbox.items.list

LeituraIdempotenteDesde 2026-11-01

Lists the inbox items of the organization, newest first (by received_at), with cursor pagination: comments, direct messages and mentions from Instagram, Facebook, LinkedIn and TikTok. folder works like the screen: all (everything but spam and archived; the default), pending_reply (still to answer: unread, read or needs_attention), unread, read, needs_attention, replied, resolved, snoozed, archived, spam or assigned_to_me. Filter by source (ig_comment, fb_message, tt_comment…), platform, conversation_type (dm, comment, mention), account_id, root_resource_id (one post or one private conversation), assigned_to (a user id, ai-<position_id> or me), label_id, sentiment or a text query over the text and the author name. received_after (ms since epoch, exclusive) keeps only what arrived after that time. updated_since (ms since epoch, inclusive) keeps only what changed at or after that time (a new item, a reply, an AI draft, an escalation, a state change) and orders the list by updated_at, newest change first: to poll for news, pass the time your previous run started and follow every page. The brand's own messages are left out unless include_self_authored. One filter runs in the database and the rest are applied reading on until the page is full (up to 400 items read per call): a page brings fewer than limit items with has_more true only when that reading limit was reached, so keep following next_cursor. limit is 25 by default. The list is light: it leaves out author.photo_url and media_preview (the post a comment is on, repeated on every comment of the same post) unless include asks for author_photo or media_preview; social_inbox.items.get brings them always. Each item brings the name of the connected account that received it (account_name), what the automation left on it (ai_suggested_reply, automation, auto_message_type) and, for a direct message, its attachments: a file MB Suite keeps comes as a link signed for one hour (url_expires_at), so list again for fresh links; author.photo_url and media_preview.thumbnail_url are the networks' CDN links, which they sign for a few days. Requires view access to the Social Inbox. With 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 are left out of the response (the permissions guide lists what each platform allows).

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

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

Parâmetros

limitintegerqueryopcional

How many items this page brings at most (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.

folderenumqueryopcional

all (everything but spam and archived; the default), pending_reply (still to answer: unread, read or needs_attention), unread, read, needs_attention, replied, resolved, snoozed, archived, spam, or assigned_to_me (what the caller owns).

Valores: all, pending_reply, unread, read, needs_attention, replied, resolved, snoozed, archived, spam, assigned_to_me · Padrão: "all"

sourceenumqueryopcional

Only this source (fb_comment, ig_message, tt_comment…).

Valores: fb_comment, fb_message, fb_mention, ig_comment, ig_message, ig_mention, li_comment, li_message, li_mention, tt_comment, tt_message

platformenumqueryopcional

Only this network: facebook, instagram, linkedin or tiktok.

Valores: facebook, instagram, linkedin, tiktok

conversation_typeenumqueryopcional

Only dm (private messages), comment or mention.

Valores: dm, comment, mention

account_idstringqueryopcional

Only items received by this connected account (account_id from social_inbox.connections.list).

root_resource_idstringqueryopcional

Only items on this post or conversation (root_resource_id of an item): the whole conversation.

assigned_tostringqueryopcional

Only items owned by this person: a member's user id, ai-<position_id> (social_inbox.positions.list) or me.

label_idstringqueryopcional

An inbox label id (from social_inbox.labels.list).

sentimentenumqueryopcional

Only positive, neutral or negative (as the Sentiment Analyst classified them).

Valores: positive, neutral, negative

querystringqueryopcional

Text to look for in the message and the author's name (case and accents ignored).

include_self_authoredbooleanqueryopcional

Also bring the brand's own messages and comments. Default false.

Padrão: false

includearray<enum>queryopcional

Extra parts for each item, left out by default to keep the list light: author_photo (author.photo_url, the network's CDN link, signed for a few days) and media_preview (the post a comment is on: thumbnail, link, text; repeated on every comment of the same post). social_inbox.items.get and items.conversation always bring them.

Valores: author_photo, media_preview · Padrão: []

received_afterintegerqueryopcional

Only items that arrived on the network after this time (ms since epoch, exclusive), by received_at.

updated_sinceintegerqueryopcional

Only items that changed at or after this time (ms since epoch), by updated_at: new items and any change on them (a reply, an AI draft, an escalation, a state change). The list is then ordered by updated_at, newest change first.

Resposta

dataarray<object>
has_moreboolean
next_cursorstring

Erros

Exemplo

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

Get one Social Inbox item

social_inbox.items.get

LeituraIdempotenteDesde 2026-11-01

Returns one inbox item: source and network, the author, the text, attachments of a direct message (a file MB Suite keeps comes as a link signed for one hour, url_expires_at; an Instagram one, as the network's own link), sentiment, state, the reply sent from MB Suite (if any; sent_by_ai when an AI agent's API key sent it), assignment, labels, the link to it on the network (external_url), can_reply (false for read-only items such as an Instagram photo tag or a LinkedIn direct message), the unsent draft of an AI Community Manager (ai_suggested_reply), the automatic reply that took its turn (automation: a rule or the AI) and, for TikTok direct messages, the network's auto_message_type. 404 inbox_item_not_found if it is not in this organization. Requires view access. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

Resposta

idstring

The item id.

sourcestring

Source: fb_comment, fb_message, fb_mention, ig_comment, ig_message, ig_mention, li_comment, li_message, li_mention, tt_comment or tt_message.

platformstring

facebook, instagram, linkedin or tiktok.

conversation_typestring

dm (a private message), comment or mention.

source_item_idstring

The item's id on the network.

source_account_idstring

The connected account that received it (its id on the network): the same as account_id in social_inbox.connections.list.

authorobject

Who wrote it.

textstring

What they wrote (empty for an attachment alone).

sentimentstring

positive, neutral or negative (neutral when the Sentiment Analyst did not classify it).

received_atnumber

When it arrived on the network (epoch ms).

statestring

unread, read, replied, needs_attention, snoozed, resolved, archived or spam.

can_replyboolean

Whether social_inbox.items.reply can answer it (some sources are read-only).

created_atnumber

When MB Suite stored it (epoch ms).

updated_atnumber

Last change (epoch ms): a reply, an AI draft, an escalation, a state change.

account_namestring | null

The name of that connected account, from the organization's connections (absent if the account is no longer connected).

root_resource_idstring | null

What it hangs from: the post of a comment, or the conversation of a private message (filter items.list by root_resource_id for the whole conversation).

parent_item_idstring | null

The comment it replies to, for a reply inside a comment thread.

thread_idstring | null

The thread it belongs to: one person on one post or in one conversation (social_inbox.threads.get).

languagestring | null

Detected language (ISO 639-1), when the Sentiment Analyst ran.

is_spamboolean | null

The Sentiment Analyst's spam verdict (with spam_score). It does not move the item: the spam folder is state spam, which a person, a rule or the engine sets.

spam_scorenumber | null

The Sentiment Analyst's spam probability, 0 to 1.

is_self_authoredboolean | null

True for the brand's own messages and comments (they are left out of items.list unless include_self_authored).

replyobject | null

The reply sent from MB Suite, if any.

snoozed_untilnumber | null

With state snoozed: when it comes back (epoch ms).

note_countnumber | null

Internal notes on it (social_inbox.notes.list).

first_human_reply_atnumber | null

When a person first replied to it (epoch ms); replies by AI or by an AI agent's key do not count.

assigned_to_user_idstring | null

Who owns it: a member's user id or ai-<position_id> for an AI Community Manager.

assigned_to_user_namestring | null

The name of who owns it.

assigned_atnumber | null

When it was assigned (epoch ms).

label_idsarray<string> | null

Its inbox labels (social_inbox.labels.list).

media_previewobject | null

The post a comment or mention is on (repeated on every comment of the same post).

attachmentsarray<object> | null

Files sent in a private message.

external_urlstring | null

Link to open it on the network (for a TikTok comment, the video's player).

mention_kindstring | null

Instagram mentions only: caption (in a post's text) or comment. Absent for a tag in a photo, which cannot be answered.

crm_linkedboolean | null

True when its conversation was passed to the CRM (CRM → Messages); see social_inbox.crm.*.

crm_conversation_idstring | null

The CRM conversation it is linked to, if any.

ai_suggested_replyobject | null

The reply an AI Community Manager in suggest mode drafted for this item (text, generated_at). It is never sent by itself; it stays after a reply goes out, so it is pending only while the item has no reply.

automationobject | null

The automatic reply that took this item's turn: by rule (a rule with a saved reply or 'reply with AI', rule_id) or by ai (an AI Community Manager in auto reply, position_id). In a private conversation every message of the burst it answered carries it. Absent when no automation answered.

escalationobject | null

Why the inbox engine or an AI Community Manager handed this item to a person (ai_signal, complaint, or the turn's reason) and when (at). Recorded since 2026-10-11; older escalations only have it in the audit log and the social_inbox.item.escalated webhook. Absent when it was never escalated.

auto_message_typestring | null

TikTok direct messages only: the network's automatic message type as TikTok sends it (WELCOME_MESSAGE, SUGGESTED_QUESTION or AUTO_REPLY), once the periodic sync has seen the message (TikTok's real-time notice does not carry it). Absent for messages a person typed.

Erros

Exemplo

curl "https://api.mb-suite.com/v1/social-inbox/items/{item_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/social-inbox/items/{item_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/social-inbox/items/counts

Count Social Inbox items per folder

social_inbox.items.counts

LeituraIdempotenteDesde 2026-11-01

Returns how many items each inbox folder has, like the screen's badges: all (without spam, archived and the brand's own messages), unread, assigned_to_me (assigned to the caller), needs_attention, replied, resolved, snoozed, archived and spam. Aggregated counts: it does not read the items. Requires view access.

Escopo
social_inbox:read
Permissão
Ver o módulo
Tool do MCP
social_inbox_items_countsNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.counts".

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

Parâmetros

Sem parâmetros.

Resposta

allnumber
unreadnumber
assigned_to_menumber
needs_attentionnumber
repliednumber
resolvednumber
snoozednumber
archivednumber
spamnumber

Erros

Exemplo

curl "https://api.mb-suite.com/v1/social-inbox/items/counts" \
  -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/social-inbox/items/counts" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/social-inbox/items/{item_id}/conversation

Get the conversation of a Social Inbox item

social_inbox.items.conversation

LeituraIdempotenteDesde 2026-11-01

Returns the conversation an inbox item belongs to, oldest first, including the brand's own messages: for a direct message, the whole private conversation; for a comment or mention, that commenter's thread under the post (not the other people's comments). The post (media_preview) comes once, on the first message that has it. Use it to give an AI or a person the context before replying. Up to limit messages (default 100, max 200). Requires view access. With 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 are left out of the response (the permissions guide lists what each platform allows).

Escopo
social_inbox:read
Permissão
Ver o módulo
Tool do MCP
social_inbox_items_conversationNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.conversation".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

limitintegerqueryopcional

How many messages at most, oldest first (1 to 200, default 100).

Padrão: 100

Resposta

dataarray<object>

Erros

Exemplo

curl "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/conversation" \
  -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/social-inbox/items/{item_id}/conversation" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/social-inbox/items/{item_id}/audit

List the audit trail of a Social Inbox item

social_inbox.items.audit.list

LeituraIdempotenteDesde 2026-11-01

Returns what happened to one inbox item, newest first (up to the latest 100 audit entries of the item): replies (content.inbox_reply_sent, content.inbox_private_reply_sent), state changes (archived, restored, read and unread, assigned and unassigned, snoozed, resolved, spam, labeled), notes added or deleted, sends to the CRM, the inbox automation (content.inbox_rule_managed, content.inbox_auto_reply_sent) and the AI (ai.inbox_ai_auto_replied, ai.inbox_ai_escalated with metadata.reason, ai.inbox_ai_taken_over, ai.inbox_ai_draft_generated). Each entry: id, action, actor_name and actor_uid (never an email; system:inbox-auto for the inbox engine and other system:* values for MB Suite's own processes, ai-<position_id> for an AI Community Manager), timestamp, via when it did not come from the MB Suite app (api_key, mcp_key, oauth, mia, support, internal), key_name when an API key of this organization (or of its workspace, for the agency's people) did it, and metadata with the details each action recorded, limited to the keys in the schema. platform is the item's network. Bulk actions are audited once for all their items and do not appear here; neither does anything recorded before an action was audited. Calls no network. 404 inbox_item_not_found if the item is not in this organization. Requires view access to the Social Inbox. With 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 fields are left out of the response (the permissions guide lists what each platform allows).

Escopo
social_inbox:read
Permissão
Ver o módulo
Tool do MCP
social_inbox_items_audit_listNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.audit.list".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

Resposta

platformstring

The item's network: instagram, facebook, linkedin or tiktok.

dataarray<object>

Erros

Exemplo

curl "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/audit" \
  -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/social-inbox/items/{item_id}/audit" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/reply

Reply to a comment, mention or DM in the Social Inbox

social_inbox.items.reply

EscritaDesde 2026-11-01

Publishes a reply to an inbox item on its network, through the connected account that received it, and records it on the item (state replied). channel public answers in the same place (a reply to the comment, or a message in the private conversation); channel private answers a Facebook or Instagram comment by direct message. as_profile replies on LinkedIn as the connected personal profile. This SENDS to the network and cannot be undone from here: never call it to test. The text limit depends on the network (Instagram direct messages count UTF-8 bytes): 400 reply_too_long. An integration has no human-agent window: Meta accepts free text within 24 hours of the person's last message (409 reply_window_expired after that). With an API key marked as an AI agent's (an owner or admin sets it on the key; it is never chosen per call), the reply counts as an AI reply, like the AI Community Manager's: reply.sent_by_ai with ai_agent_user_id = the key's user, it stays out of the human first-response time (no first_human_reply_at, not in the team's average first response) and counts under that agent in the replies per agent, and social_inbox.reply.sent says automated true. Direct messages that belong to the CRM are answered with crm.social_dm.send (409 crm_linked). Read-only items (an Instagram photo tag, a LinkedIn direct message) give 400 reply_not_supported. When the network refuses the reply it gives 409 external_rejected (details.platform and the network's provider_code); 429 external_rate_limited when it is limiting and 503 external_unavailable only when the reply surely did not reach it (retry after retry_after); 409 external_outcome_unknown when it did not answer clearly (timeout, connection cut, its 500/502/504): the reply may have been published, so check the conversation before replying again; 409 integration_reconnect_required when the connected account expired or lacks a permission, and 409 integration_not_connected for LinkedIn without the LinkedIn (Pages) integration. Returns the updated item. Requires full access and an owner, admin or member role. Outside the app it runs in two steps (it sends to a network): first the dry run, which returns the confirm_token to send it with; with dry_run=true nothing is sent or written and the network is not called: it runs the same checks (role, crm_linked, private_reply_not_supported, reply_not_supported, reply_too_long) and fails with the same errors, or returns a Preview with channel, platform, source, length (used, max and unit: chars or UTF-8 bytes), account_connected (the account that received the item is still among the Inbox connections with an active credential; false comes with a warning: the reply would fail; so does a TikTok account that TikTok does not let send direct messages), reply_window for an Instagram or Messenger direct message answered in the same conversation (state open or closed, last_inbound_at: the person's last message, closes_at: 24 hours later for an integration, 7 days for a person in the app; closed comes with a warning; null where MB Suite has no fixed window to check: comments, mentions, TikTok, a private reply to a comment), sent_by_ai (the reply would count as an AI agent's) and first_human_reply (it would set the team's first human response time). A clean dry run does not guarantee the network accepts the reply: Meta (or the network) can still refuse it. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_replyNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.reply".
Eventos que pode emitir
social_inbox.reply.sent

Custo declarado: até 2 leituras e 2 escritas por chamada (contam na cota diária). Usa uma plataforma externa (meta): conta na cota de operações externas.

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

textstringcorpoobrigatório

The reply, as it will be published on the network.

channelenumcorpoopcional

public (on the same comment or conversation; the default) or private (answer a comment by private message, only where the network allows it).

Valores: public, private · Padrão: "public"

as_profilebooleancorpoopcional

LinkedIn only: answer as the connected personal profile instead of the page. Default false.

Padrão: false

Resposta

idstring

The item id.

sourcestring

Source: fb_comment, fb_message, fb_mention, ig_comment, ig_message, ig_mention, li_comment, li_message, li_mention, tt_comment or tt_message.

platformstring

facebook, instagram, linkedin or tiktok.

conversation_typestring

dm (a private message), comment or mention.

source_item_idstring

The item's id on the network.

source_account_idstring

The connected account that received it (its id on the network): the same as account_id in social_inbox.connections.list.

authorobject

Who wrote it.

textstring

What they wrote (empty for an attachment alone).

sentimentstring

positive, neutral or negative (neutral when the Sentiment Analyst did not classify it).

received_atnumber

When it arrived on the network (epoch ms).

statestring

unread, read, replied, needs_attention, snoozed, resolved, archived or spam.

can_replyboolean

Whether social_inbox.items.reply can answer it (some sources are read-only).

created_atnumber

When MB Suite stored it (epoch ms).

updated_atnumber

Last change (epoch ms): a reply, an AI draft, an escalation, a state change.

account_namestring | null

The name of that connected account, from the organization's connections (absent if the account is no longer connected).

root_resource_idstring | null

What it hangs from: the post of a comment, or the conversation of a private message (filter items.list by root_resource_id for the whole conversation).

parent_item_idstring | null

The comment it replies to, for a reply inside a comment thread.

thread_idstring | null

The thread it belongs to: one person on one post or in one conversation (social_inbox.threads.get).

languagestring | null

Detected language (ISO 639-1), when the Sentiment Analyst ran.

is_spamboolean | null

The Sentiment Analyst's spam verdict (with spam_score). It does not move the item: the spam folder is state spam, which a person, a rule or the engine sets.

spam_scorenumber | null

The Sentiment Analyst's spam probability, 0 to 1.

is_self_authoredboolean | null

True for the brand's own messages and comments (they are left out of items.list unless include_self_authored).

replyobject | null

The reply sent from MB Suite, if any.

snoozed_untilnumber | null

With state snoozed: when it comes back (epoch ms).

note_countnumber | null

Internal notes on it (social_inbox.notes.list).

first_human_reply_atnumber | null

When a person first replied to it (epoch ms); replies by AI or by an AI agent's key do not count.

assigned_to_user_idstring | null

Who owns it: a member's user id or ai-<position_id> for an AI Community Manager.

assigned_to_user_namestring | null

The name of who owns it.

assigned_atnumber | null

When it was assigned (epoch ms).

label_idsarray<string> | null

Its inbox labels (social_inbox.labels.list).

media_previewobject | null

The post a comment or mention is on (repeated on every comment of the same post).

attachmentsarray<object> | null

Files sent in a private message.

external_urlstring | null

Link to open it on the network (for a TikTok comment, the video's player).

mention_kindstring | null

Instagram mentions only: caption (in a post's text) or comment. Absent for a tag in a photo, which cannot be answered.

crm_linkedboolean | null

True when its conversation was passed to the CRM (CRM → Messages); see social_inbox.crm.*.

crm_conversation_idstring | null

The CRM conversation it is linked to, if any.

ai_suggested_replyobject | null

The reply an AI Community Manager in suggest mode drafted for this item (text, generated_at). It is never sent by itself; it stays after a reply goes out, so it is pending only while the item has no reply.

automationobject | null

The automatic reply that took this item's turn: by rule (a rule with a saved reply or 'reply with AI', rule_id) or by ai (an AI Community Manager in auto reply, position_id). In a private conversation every message of the burst it answered carries it. Absent when no automation answered.

escalationobject | null

Why the inbox engine or an AI Community Manager handed this item to a person (ai_signal, complaint, or the turn's reason) and when (at). Recorded since 2026-10-11; older escalations only have it in the audit log and the social_inbox.item.escalated webhook. Absent when it was never escalated.

auto_message_typestring | null

TikTok direct messages only: the network's automatic message type as TikTok sends it (WELCOME_MESSAGE, SUGGESTED_QUESTION or AUTO_REPLY), once the periodic sync has seen the message (TikTok's real-time notice does not carry it). Absent for messages a person typed.

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/reply" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "TEXT",
  "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. Na prática esta operação não é simulada (usa outra plataforma): responde 409 sandbox_external_unavailable.

POST/v1/social-inbox/items/{item_id}/archive

Archive a Social Inbox item

social_inbox.items.archive

EscritaIdempotenteDesde 2026-11-01

Moves an inbox item to the Archived folder (it leaves All). Nothing is deleted: social_inbox.items.restore brings it back. Archiving an archived item changes nothing (changed false). Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_archiveNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.archive".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/archive" \
  -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/social-inbox/items/{item_id}/archive" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/bulk/archive

Archive many Social Inbox items

social_inbox.items.bulk.archive

EscritaEm massa · até 200IdempotenteDesde 2026-11-01

Archives up to 200 inbox items at once (they can be restored one by one). Ids that do not exist in this organization are skipped and counted in skipped; nothing is created. Outside the screen it needs a dry run and the confirm_token it returns. Returns how many were archived. Requires full access and an owner, admin or member role.

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
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_bulk_archiveNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.bulk.archive".

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

Parâmetros

item_idsarray<string>corpoobrigatório

Inbox item ids (from social_inbox.items.list), 1 to 200.

Resposta

updatednumber
skippednumber

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/bulk/archive" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_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/social-inbox/items/bulk/archive" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_ID"
  ],
  "dry_run": true
}'
POST/v1/social-inbox/items/{item_id}/restore

Restore an archived Social Inbox item

social_inbox.items.restore

EscritaIdempotenteDesde 2026-11-01

Takes an archived inbox item back to the inbox: replied if it has a reply from MB Suite, unread otherwise. On an item that is not archived it changes nothing (changed false). To leave Spam, Snoozed or Resolved use mark_spam, unsnooze or resolve. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_restoreNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.restore".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/restore" \
  -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/social-inbox/items/{item_id}/restore" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/read

Mark a Social Inbox item as read or unread

social_inbox.items.mark_read

EscritaIdempotenteDesde 2026-11-01

Marks an inbox item as read (read true, the default) or unread (read false). Read state is shared by the whole team. It only moves an item between unread and read: a replied, archived, snoozed, spam, resolved or needs-attention item is left as it is (changed false). Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_mark_readNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.mark_read".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

readbooleancorpoopcional

true marks it read (the default); false, unread.

Padrão: true

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/read" \
  -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/social-inbox/items/{item_id}/read" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/assign

Assign a Social Inbox item to a person or an AI Community Manager

social_inbox.items.assign

EscritaIdempotenteDesde 2026-11-01

Assigns an inbox item, and its thread, to a member of the organization (or of its agency) or to an active AI Community Manager (assignee_uid ai-<position_id>, see social_inbox.positions.list); null unassigns. New messages of the thread inherit the owner, and a thread owned by a person is never answered by the AI. A person assignee gets an in-app notification. Any other user id gives 400 assignee_invalid; a direct message that belongs to the CRM cannot go to an AI (409 crm_linked). Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_assignNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.assign".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

assignee_uidstring | nullcorpoobrigatório

Who gets it: a member's user id (members.members.list), ai-<position_id> for an AI Community Manager (social_inbox.positions.list), or null to unassign.

Resposta

itemobject

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/assign" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "assignee_uid": "ASSIGNEE_UID"
}'

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/social-inbox/items/{item_id}/assign" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "assignee_uid": "ASSIGNEE_UID"
}'
POST/v1/social-inbox/items/bulk/assign

Assign many Social Inbox items

social_inbox.items.bulk.assign

EscritaEm massa · até 200IdempotenteDesde 2026-11-01

Assigns up to 200 inbox items (and their threads) to one member or active AI Community Manager (ai-<position_id>), or unassigns them with null. The assignee gets one grouped notification. Ids that do not exist are skipped, and so are direct messages of the CRM when the assignee is an AI. Outside the screen it needs a dry run and the confirm_token it returns. Returns how many were updated and skipped. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_bulk_assignNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.bulk.assign".

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

Parâmetros

item_idsarray<string>corpoobrigatório

Inbox item ids (from social_inbox.items.list), 1 to 200.

assignee_uidstring | nullcorpoobrigatório

Who gets it: a member's user id (members.members.list), ai-<position_id> for an AI Community Manager (social_inbox.positions.list), or null to unassign.

Resposta

updatednumber
skippednumber

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/bulk/assign" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_ID"
  ],
  "assignee_uid": "ASSIGNEE_UID",
  "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/social-inbox/items/bulk/assign" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_ID"
  ],
  "assignee_uid": "ASSIGNEE_UID",
  "dry_run": true
}'
POST/v1/social-inbox/items/{item_id}/take-ownership

Take over a Social Inbox thread (from the AI)

social_inbox.items.take_ownership

EscritaDesde 2026-11-01

The caller takes over the whole thread of an inbox item, usually one handled by an AI Community Manager: every message of the thread (except the brand's own) is assigned to the caller, the thread keeps the caller as owner (the AI stops answering it) and an internal note records the takeover (note_text, or a default one in the caller's language). Each call adds a note. Returns how many messages were assigned and the note id. Requires full access and an owner, admin or member role.

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_take_ownershipNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.take_ownership".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

note_textstringcorpoopcional

The internal note left on the thread. Default: a standard note in the caller's language.

Resposta

items_assignednumber
note_idstring

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/take-ownership" \
  -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/social-inbox/items/{item_id}/take-ownership" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/snooze

Snooze a Social Inbox item until a time

social_inbox.items.snooze

EscritaIdempotenteDesde 2026-11-01

Hides an inbox item in Snoozed until snoozed_until (milliseconds since epoch, in the future: 400 snooze_in_past otherwise); it comes back to the inbox by itself within 15 minutes of that time. social_inbox.items.unsnooze brings it back now. Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_snoozeNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.snooze".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

snoozed_untilintegercorpoobrigatório

When it comes back to the inbox (epoch ms, in the future).

Resposta

itemobject

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/snooze" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "snoozed_until": 0
}'

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/social-inbox/items/{item_id}/snooze" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "snoozed_until": 0
}'
POST/v1/social-inbox/items/{item_id}/unsnooze

Bring a snoozed Social Inbox item back now

social_inbox.items.unsnooze

EscritaIdempotenteDesde 2026-11-01

Brings a snoozed inbox item back to the inbox before its time: replied if it has a reply from MB Suite, unread otherwise. On an item that is not snoozed it changes nothing (changed false). Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_unsnoozeNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.unsnooze".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/unsnooze" \
  -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/social-inbox/items/{item_id}/unsnooze" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/resolve

Mark a Social Inbox item as resolved (or reopen it)

social_inbox.items.resolve

EscritaIdempotenteDesde 2026-11-01

Marks an inbox item as resolved (resolved true, the default; it counts in the team's performance and emits social_inbox.item.resolved) or reopens a resolved one (resolved false: back to replied or unread). Resolving a resolved item, or reopening one that is not resolved, changes nothing (changed false). Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_resolveNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.resolve".
Eventos que pode emitir
social_inbox.item.resolved

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

resolvedbooleancorpoopcional

true resolves it (the default); false reopens it.

Padrão: true

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/resolve" \
  -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/social-inbox/items/{item_id}/resolve" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/bulk/resolve

Mark many Social Inbox items as resolved

social_inbox.items.bulk.resolve

EscritaEm massa · até 200IdempotenteDesde 2026-11-01

Marks up to 200 inbox items as resolved at once (like «mark all as resolved» on a post). Items already resolved and ids that do not exist are skipped; each item that changes emits social_inbox.item.resolved and counts in the team's performance. Outside the screen it needs a dry run and the confirm_token it returns. Returns how many changed and how many were skipped. Requires full access and an owner, admin or member role.

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
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_bulk_resolveNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.bulk.resolve".
Eventos que pode emitir
social_inbox.item.resolved

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

Parâmetros

item_idsarray<string>corpoobrigatório

Inbox item ids (from social_inbox.items.list), 1 to 200.

Resposta

updatednumber
skippednumber

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/bulk/resolve" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_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/social-inbox/items/bulk/resolve" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "item_ids": [
    "ITEM_ID"
  ],
  "dry_run": true
}'
POST/v1/social-inbox/items/{item_id}/spam

Mark a Social Inbox item as spam (or not)

social_inbox.items.mark_spam

EscritaIdempotenteDesde 2026-11-01

Moves an inbox item to Spam (spam true, the default) or takes it out (spam false: back to replied or unread). Nothing is sent to the network and nothing is deleted. Marking spam what is already in Spam, or unmarking what is not spam, changes nothing (changed false). Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_mark_spamNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.mark_spam".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

spambooleancorpoopcional

true moves it to spam (the default); false takes it out.

Padrão: true

Resposta

itemobject
changedboolean

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/spam" \
  -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/social-inbox/items/{item_id}/spam" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/labels

Set the labels of a Social Inbox item

social_inbox.items.set_labels

EscritaIdempotenteDesde 2026-11-01

Replaces the labels of an inbox item with label_ids (up to 20; an empty list removes them all). Every id has to be an inbox label of this organization (social_inbox.labels.list): an unknown one stops the change (400 label_not_found). Returns the item. Requires full access and an owner, admin or member role. With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Escopo
social_inbox:write
Permissão
Editar no módulo
Tool do MCP
social_inbox_items_set_labelsNa superfície completa; na compacta, mb_execute_operation com id: "social_inbox.items.set_labels".

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

Parâmetros

item_idstringrotaobrigatório

The inbox item id (from social_inbox.items.list).

label_idsarray<string>corpoobrigatório

All the item's labels (up to 20; social_inbox.labels.list): they replace the current ones; [] removes them all.

Resposta

itemobject

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/labels" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "label_ids": [
    "LABEL_ID"
  ]
}'

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/social-inbox/items/{item_id}/labels" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "label_ids": [
    "LABEL_ID"
  ]
}'