List posts published on the platform
Returns the 25 most recent posts that exist on the platform for a connected account, read live from the platform API. This covers everything on the account, including posts that were never created through Zernio.
Use it to obtain the platform's own post id, which the analytics endpoints take as input.
On YouTube the returned id is the video ID that GET /v1/analytics/youtube/daily-views,
/video-retention and /demographics expect as videoId, so this endpoint is what backs
a video picker in your own UI.
Not every field applies to every platform: reactionCount is Facebook and LinkedIn,
shareCount is platform dependent, cid is the Bluesky content id needed to reply, and
subreddit is Reddit only. Absent fields are omitted from the response.
The account's token is refreshed before the call when it has expired. When the refresh
cannot recover it, the response is a 401 with code TOKEN_EXPIRED and the account has to
be reconnected.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.accounts.getAccountPosts({ path: { accountId: 'account_abc123', },});console.log(data);{ "status": "success", "posts": [ { "id": "dQw4w9WgXcQ", "platform": "youtube", "message": "How to schedule a post\n\nA short walkthrough.", "createdTime": "2026-08-21T09:14:03.000Z", "permalink": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "picture": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "mediaType": "video", "commentCount": 12, "likeCount": 340 } ], "lastUpdated": "2026-08-28T11:02:44.512Z"}Check account health
Returns detailed health info for a specific account including token status, permissions, and recommendations. A failing or stalled analytics sync (see `analyticsSync`) raises a healthy account to at least `warning`. On Facebook, Instagram and Threads the token is also probed live. A probe Meta refuses with a dead-token error sets `tokenStatus.valid` to `false` and names Meta's code, subcode and fbtrace in `issues`, unless an analytics sync succeeded with that token in the last six hours: then the token stays `valid` and `issues` reports the probe as inconclusive, since Meta answers a transient 190 to live tokens now and then. Neither verdict disconnects the account; that happens only when a real operation fails, and `account.disconnected` is sent. For WhatsApp accounts the response also includes `platformConnection`, a live probe of the Meta link behind the channel (the same read as `GET /v1/whatsapp/number-info`). The OAuth token can be perfectly valid while Meta refuses to serve the phone-number object (for example after a phone-side coexistence disconnect), so `tokenStatus` alone is not a liveness signal for WhatsApp. When the Meta link is dead, `platformConnection.status` is `disconnected` and the overall `status` is `error`. When Meta reports that the number's inbound message webhook does not reach Zernio, `platformConnection.inboundWebhookSubscribed` is `false`, an entry is added to `issues`, and the overall `status` is at least `warning`.
Check accounts health
Returns health status of all connected accounts including token validity, permissions, and issues needing attention. A failing or stalled analytics sync (see `analyticsSync`) raises a healthy account to at least warning.