Menu

API reference · Inbox

Internal notes

social_inbox · notes · 3 operations

GET/v1/social-inbox/items/{item_id}/notes

List the internal notes of a Social Inbox item

social_inbox.notes.list

ReadIdempotentSince 2026-11-01

Lists the internal notes the team left on an inbox item (author, text, mentions), oldest first, up to 200. Notes never go to the network. 404 inbox_item_not_found if the item is not in this organization. Requires view access to the Social Inbox.

Scope
social_inbox:read
Permission
View the module
MCP tool
social_inbox_notes_listOn the full surface; on the compact one, mb_execute_operation with id: "social_inbox.notes.list".

Declared cost: up to 201 reads and 0 writes per call (they count against the daily quota).

Parameters

item_idstringpathrequired

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

Response

dataarray<object>

Errors

Example

curl "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/notes" \
  -H "Authorization: Bearer $MB_API_KEY"

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/notes" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-inbox/items/{item_id}/notes

Add an internal note to a Social Inbox item

social_inbox.notes.add

WriteSince 2026-11-01

Adds an internal note (up to 4,096 characters) to an inbox item, visible only to the team; it is never sent to the network. mentions are user ids of members of the organization (others are dropped). Returns the note and its id. Requires full access and an owner, admin or member role.

Scope
social_inbox:write
Permission
Edit in the module
MCP tool
social_inbox_notes_addOn the full surface; on the compact one, mb_execute_operation with id: "social_inbox.notes.add".

Declared cost: up to 3 reads and 2 writes per call (they count against the daily quota).

Parameters

item_idstringpathrequired

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

textstringbodyrequired

The internal note (never sent to the network).

mentionsarray<string>bodyoptional

Members to mention with @ (user ids from members.members.list, up to 10); they get a notice. Anyone else is dropped.

Response

note_idstring
noteobject

Errors

Example

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

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl -X POST "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/notes" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "text": "TEXT"
}'
DELETE/v1/social-inbox/items/{item_id}/notes/{note_id}

Delete an internal note of a Social Inbox item

social_inbox.notes.delete

IrreversibleSince 2026-11-01

Deletes an internal note of an inbox item (any owner, admin or member of the team can). It stays 30 days in the trash. 404 inbox_note_not_found if the note is not on that item. Outside the screen it needs a dry run and a confirm_token, except a REST DELETE with a key allowed to delete. Requires full access.

With an API key, this DELETE runs directly: the record stays 30 days in the trash and the response carries its trash_item_id. With an OAuth token, and through the MCP, it needs dry_run → confirm_token.

Scope
social_inbox:write and “Allow deletions” (social_inbox:delete in OAuth)
Permission
Edit in the module
MCP tool
social_inbox_notes_deleteOn the full surface; on the compact one, mb_execute_operation with id: "social_inbox.notes.delete".

Declared cost: up to 2 reads and 2 writes per call (they count against the daily quota).

Parameters

item_idstringpathrequired

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

note_idstringpathrequired

The note id (from social_inbox.notes.list).

Response

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.

Errors

Example

curl -X DELETE "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/notes/{note_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl -X DELETE "https://api.mb-suite.com/v1/social-inbox/items/{item_id}/notes/{note_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"