Export a post's stored comments to CSV
Export all of a post's **stored** comments (Firestore — same source as the in-app exporter, not a live Meta fetch) to a CSV uploaded to Storage, and return `{ totalCount, csvUrl }`. The storage filename is deterministic (`comments_<postId>.csv`) so re-exports overwrite rather than pile up. When there are no stored comments, `csvUrl` is `null` and `totalCount` is `0`. `mediumId` is **required**.
/posts/{postId}/comments/exportAuthorization
x-api-key x-date x-signature Your API key (the ApiKeys document id).
In: header
Current timestamp in ISO-8601 (must be fresh — within −5s..+60s of server time).
In: header
HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.
In: header
Path Parameters
The published post id.
Query Parameters
The channel id (from GET /channels).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/posts/string/comments/export?mediumId=string"{ "totalCount": 0, "csvUrl": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "error": [ { "message": "string", "path": [ "string" ], "type": "string", "context": {} } ]}{ "message": "string"}List live comments for a post
Live comments for a published post, fetched fresh from the Meta Graph API and normalized across FB/IG. `mediumId` is **required** (it locates the channel + its access token). Paged natively: `limit` is passed down to Meta and the response carries `paging.after` (an opaque cursor — echo it back as `after` for the next page) plus `paging.hasMore`. Meta's raw paging object is never returned (its `next` URL embeds the channel access token).
List scheduled / draft posts
List scheduled and draft posts, soonest-first by `scheduledFor` (undated posts last). Returns the raw model documents (the per-channel data appears as `mediumsData`).