Interaction shape, so you build inbox logic once instead of per platform.
SocialAPI provides a unified inbox API for reading and responding to all inbound engagement across your connected accounts. Comments, DMs, reviews, and mentions are accessed through consistent endpoints with the same response shape regardless of platform.
SocialAPI never stores interaction content in its database. Every inbox call proxies live data from the platform API, so you always see the latest state.
Comments
List comments across all connected accounts, reply, and moderate.Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/inbox/comments | List posts that received comments across accounts |
GET | /v1/inbox/comments/:postId | List comments on a specific post |
GET | /v1/inbox/comments/:postId/:commentId/replies | List replies to a specific comment |
POST | /v1/inbox/comments/:postId | Reply to a comment on a post |
DELETE | /v1/inbox/comments/:postId/:commentId | Delete a comment |
POST | /v1/inbox/comments/:postId/:commentId/hide | Hide a comment |
DELETE | /v1/inbox/comments/:postId/:commentId/hide | Unhide a comment |
POST | /v1/inbox/comments/:postId/:commentId/like | Like a comment |
DELETE | /v1/inbox/comments/:postId/:commentId/like | Unlike a comment |
POST | /v1/inbox/comments/:postId/:commentId/private-reply | Send a private DM in reply to a comment |
:postId and :commentId accept SocialAPI interaction IDs (sapi_cmt_...). See Interaction IDs for the encoding.
Platform capabilities
| Platform | Reply | Hide | Like | Delete | Private reply |
|---|---|---|---|---|---|
| Yes | Yes | No | Yes | Yes | |
| Yes | Yes | Yes | Yes | Yes | |
| Threads | Yes | Conditional | No | Conditional | No |
| Yes | No | No | No | No | |
| Soon | No | Soon | Soon | No | |
| YouTube | Yes | Yes | No | Yes | No |
| X / Twitter | Yes | Yes | No | Conditional | No |
| TikTok | No | No | No | No | No |
capabilities object so your code can check what is actually allowed for that specific item.
Example: list and reply
Direct messages
Read conversations and send messages across platforms that support DMs.Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/inbox/conversations | List DM conversations |
GET | /v1/inbox/conversations/:id/messages | Get messages in a conversation |
POST | /v1/inbox/conversations/:id/messages | Send a message |
Platform support
| Platform | DMs supported | Notes |
|---|---|---|
| Yes | 24-hour messaging window for non-followers | |
| Yes | Via Messenger Send API, 24-hour response window | |
| No | Platform API does not expose DMs | |
| TikTok | No | Not available via API |
| No | Not applicable | |
| Threads | No | Not available via API |
| YouTube | No | Not available via API |
Sending text and attachments
A message can carry text, an attachment, or both. Providetext, attachment_url, or both: at least one is required.
| Field | Required | Description |
|---|---|---|
account_id | Yes | Connected account that owns the conversation |
text | Conditional | Message body. Required unless attachment_url is set |
attachment_url | Conditional | Publicly reachable URL of a media file to attach. Required unless text is set |
attachment_url is delivered as a Messenger attachment. The attachment type (image, video, audio, or file) is inferred from the URL file extension, so use a direct media link with the correct extension (for example .jpg, .mp4, .mp3). URLs without a recognized media extension are sent as a generic file. The media must be hosted on a publicly reachable URL (max 25 MB); the platform fetches it directly.
Example: list conversations and send a message
Reviews
Read and reply to reviews on platforms that support them.Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/inbox/reviews | List reviews |
POST | /v1/inbox/reviews/:id/reply | Reply to a review |
Platform support
| Platform | Reviews |
|---|---|
| Yes (Google Business Profile) | |
| All others | No |
Example
Mentions
Read mentions of a connected account, and reply to them as a public comment.Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/accounts/:id/mentions | List mentions for a connected account |
POST | /v1/accounts/:id/mentions/reply | Reply to a mention as a public comment |
media_id (the post the mention is
on, or the sapi_mnt_ id from the list response) and text. Set comment_id
only when the mention was inside a comment; omit it to reply to a mention in the
post caption. A reply consumes 1 interaction credit.
Platform support
| Platform | List mentions | Reply to mention |
|---|---|---|
| Yes | Yes | |
| Yes | Yes | |
| X / Twitter | Yes | No |
| All others | No | No |
Example
Interaction IDs
Every interaction returned by the inbox has a stable ID with a type prefix:| Prefix | Type |
|---|---|
sapi_cmt_ | Comment |
sapi_dm_ | DM |
sapi_rev_ | Review |
sapi_mnt_ | Mention |
Webhooks
SocialAPI can notify your server when new inbound interactions arrive (new comment, new DM, new review). Register a webhook endpoint and subscribe to the event types you care about. See Webhooks for setup and event reference.Related
- Platform support for the full capability matrix
- Interaction IDs for the ID encoding scheme
- Webhooks for real-time event delivery
- API Reference for complete endpoint schemas