List conversations
Fetch conversations (DMs) from all connected messaging accounts in a single API call. Supports filtering by profile and platform. Results are aggregated and deduplicated. Supported platforms: Facebook, Instagram, Twitter/X, Bluesky, Reddit, Telegram.
Twitter/X limitation: X has replaced traditional DMs with encrypted "X Chat" for many accounts. Messages sent or received through encrypted X Chat are not accessible via X's API (the /2/dm_events endpoint only returns legacy unencrypted DMs). This means some Twitter/X conversations may show only outgoing messages or appear empty. This is an X platform limitation that affects all third-party applications. See X's docs on encrypted messaging for more details.
Instagram and Facebook pre-connect history: when one of these accounts is connected, Zernio replays the DM history the account already holds on Meta, so conversations that began before the account was connected appear here. Up to 500 conversations per account are replayed. The replay runs in the background and can finish after a listing you have already taken, and replayed conversations keep their original lastMessageAt, so they sort into date order rather than appearing at the top. If you mirror this endpoint into your own store, re-run the sweep rather than relying on a single pass at connect time. Replayed history emits no webhooks and is stored as already read, so it never affects unread counts. Threads that Meta refuses to serve are skipped, and an account whose Instagram "connected tools" message access is turned off is not replayed at all.
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
Filter by profile ID
Filter by platform
"facebook" | "instagram" | "twitter" | "bluesky" | "reddit" | "telegram"Filter by conversation status
"active" | "archived"Sort order by updated time
"desc""asc" | "desc"Maximum number of conversations to return
501 <= value <= 100Pagination cursor for next page
Filter by specific social account ID
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.messages.listInboxConversations();console.log(data);{
"data": [
{
"id": "string",
"platform": "string",
"accountId": "string",
"accountUsername": "string",
"participantId": "string",
"participantName": "string",
"participantPicture": "string",
"participantVerifiedType": "blue",
"lastMessage": "string",
"updatedTime": "2019-08-24T14:15:22Z",
"status": "active",
"unreadCount": 0,
"url": "string",
"instagramProfile": {
"isFollower": true,
"isFollowing": true,
"followerCount": 0,
"isVerified": true,
"fetchedAt": "2019-08-24T14:15:22Z"
}
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string"
},
"meta": {
"accountsQueried": 0,
"accountsFailed": 0,
"failedAccounts": [
{
"accountId": "string",
"accountUsername": "string",
"platform": "string",
"error": "string",
"code": "string",
"retryAfter": 0
}
],
"lastUpdated": "2019-08-24T14:15:22Z"
}
}{
"error": "Unauthorized"
}Check subreddit existence GET
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns exists: false for private, banned, or nonexistent subreddits.
Search conversations GET
Search your conversations two ways at once, and get back the matching conversations, most-recent match first: - Message text: matches words inside message bodies. Case-insensitive and accent-insensitive, exact tokens only (no substrings, no stemming). Each hit carries up to 3 most-recent matching messages. With direction=outgoing you can collect examples of how you write to customers, for example to teach an AI agent your tone of voice. - Contact identity: matches the participant's name, username, or phone number as a case-insensitive substring. These hits have matchCount 0 and an empty matches array. A conversation that matches both ways is returned once, carrying its message matches. Only platforms whose messages are stored by Zernio are searchable: WhatsApp, SMS, Telegram, Facebook, Instagram, Twitter/X and Reddit. Bluesky conversations are fetched live from the platform and cannot be searched; those accounts are listed in meta.accountsSkipped.