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.
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
curl -X GET "https://zernio.com/api/v1/inbox/conversations"{
"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.
Create conversation POST
Initiate a new direct message conversation with a specified user. If a conversation already exists with the recipient, the message is added to the existing thread. Currently supported platforms: Twitter/X only. Other platforms will return PLATFORM_NOT_SUPPORTED. DM eligibility: Before sending, the endpoint checks if the recipient accepts DMs from your account (via the receives_your_dm field). If not, a 422 error with code DM_NOT_ALLOWED is returned. You can skip this check with skipDmCheck: true if you have already verified eligibility. X API tier requirement: DM write endpoints require X API Pro tier ($5,000/month) or Enterprise access. This applies to BYOK (Bring Your Own Key) users who provide their own X API credentials. Rate limits: 200 requests per 15 minutes, 1,000 per 24 hours per user, 15,000 per 24 hours per app (shared across all DM endpoints).