Skip to main content

POST /api/v1/posts/<post_id>/comments

Arm a comment (typically the “first comment” with a link) that MagicPost publishes under your post, minutes_after minutes after the post goes live. The post must be yours and not published yet: a draft, or a scheduled post. The comment follows the post’s real publication time. Body
  • text (required): up to 1250 characters (LinkedIn’s limit).
  • minutes_after: integer from 0 (right after publication) to 10080 (one week). Default 0.
Response (HTTP 201)
Errors: post_already_published (409) when the post is live or being published, failed_tag (400, with failed_urns) when a mentioned member can’t be tagged, scheduled_comments_forbidden (403) when your plan doesn’t include scheduled comments. MCP: schedule_post_comment.

DELETE /api/v1/posts/<post_id>/comments/<comment_id>

Remove an armed comment before it is published. comment_already_published (409) once it is sent. MCP: delete_post_comment.

GET /api/v1/received-comments

Comments people left on one of your published posts, as collected so far. Reading costs nothing. Query params: exactly one of
Response
Comments are collected from LinkedIn by a third-party data provider, not by LinkedIn’s official API, and only when a sync runs. Compare comments_stored with post.comments_on_linkedin, and check last_sync. Only your own posts are allowed (403 otherwise). synced: false means the post is not imported yet. At most 500 comments are returned (truncated). MCP: list_received_comments.

POST /api/v1/received-comments/sync

Fetch the latest comments of one of your posts, in the background. Same body fields as the query params above.
Response (HTTP 202)
Each sync uses one unit of your daily comment sync quota (shared with the web app). A sync already running or started a few minutes ago returns already_running (HTTP 200) and costs nothing. Quota reached: comment_sync_quota_reached (429). Wait about a minute, then read the comments. MCP: sync_received_comments.

POST /api/v1/ai-score

Run MagicPost’s Post AI score (the editor’s “Score IA”) on plain text, or on one of your posts. Body: text, or post_id (its current text is scored unless text is also given).
Response
grade goes from A (doesn’t sound AI) to E. strong passages lower the grade, weak ones are informative. There is no suggested rewrite. Each scan uses your daily AI score quota (ai_score_quota_reached, 429, with reset_at); a post whose text did not change since its last scan is free. Limited to 5 requests per minute. MCP: score_post.

POST /api/v1/ideas

Save an idea to your MagicPost Idea notebook, at the top of the backlog column.
  • idea (required): up to 2000 characters.
  • notes: up to 20000 characters.
Response (HTTP 201)
MCP: add_idea_to_notebook.