antworkDOCS

Checking a post

The create call returns ids; this is where you learn what became of them. Poll rather than waiting on the create request, which returns long before the platform has answered.

GEThttps://antwork.io/api/v1/posts/{id}Scoperead

Request

curl https://antwork.io/api/v1/posts/pQ7x... \
  -H "Authorization: Bearer $ANTWORK_API_KEY"

Response

200 OK
{
  "object": "post",
  "id": "pQ7x...",
  "workspaceId": "ws_...",
  "accountId": "acc_linkedin",
  "platform": "linkedin",
  "campaignId": "b3f1...",
  "status": "published",
  "text": "Shipped the API today.",
  "mediaUrls": [],
  "scheduledFor": "2026-10-01T09:00:00.000Z",
  "publishedAt": "2026-10-01T09:00:04.000Z",
  "publishedUrl": "https://www.linkedin.com/feed/update/...",
  "platformPostId": "urn:li:share:...",
  "error": null,
  "createdAt": "2026-09-22T10:00:00.000Z",
  "updatedAt": "2026-10-01T09:00:04.000Z"
}

Once it has gone out, publishedUrl and platformPostId are filled in. If it failed, error.message says what the platform said and error.advice says what to do about it.

A post that does not exist, belongs to someone else or has been deleted answers 404 with post_not_found. Needs the read scope.

Post statuses

  • draft — saved, not scheduled. It will not go out.
  • scheduled — waiting for its time, or being sent right now.
  • published — live on the platform. publishedUrl and platformPostId are set.
  • failed — did not go out. error says why.