Posts

Get a post

One post in full: body, per-platform variants, media and each target account's delivery result (with machine-readable failure codes). Poll it after publishing. Only posts of this workspace are visible.

GET/api/v1/posts/{postId}
posts:readread tierread-only

Authorization & guardrails

  • Send Authorization: Bearer <credential>; credentials are issued under Settings → Integrations → Long-lived credentials, see Authentication.
  • The credential needs scope posts:read; the issuer's workspace role must also allow the action.
  • Rate limit: read tier, 60/min per credential; over the cap returns 429 with Retry-After.
  • Idempotency: read endpoint, no Idempotency-Key needed.
  • Read-only: writes nothing and sends nothing out.

Path parameters

postIdstringrequired

Post id (postId from list / create).

Responses

Success is HTTP 200 with a { data, meta } envelope; examples per status are on the right (at the end of the page on narrow screens). Every error is { error: { code, message, params }, meta } — branch on the code, not the message; see Errors.

StatusPossible codes
400invalid_input
401unauthenticated
403forbidden / workspace_not_found
404not_found
429rate_limited
500internal

Examples

Request
curl -X GET "https://popkit.loxily.com/api/v1/posts/pst_01J8ZK3R7QW6M2" \
  -H "Authorization: Bearer popkit_it_••••••••"
Response
OK
{
  "data": {
    "id": "pst_01J8ZK3R7QW6M2",
    "title": null,
    "content": "新功能上线:一次创作,发布到所有平台 🚀",
    "platforms": [
      "x",
      "instagram"
    ],
    "targetAccountIds": [
      "acc_01J8X…",
      "acc_01J8Y…"
    ],
    "status": "published",
    "source": "api",
    "scheduledAt": "2026-09-21T10:00:00.000Z",
    "publishedAt": "2026-09-21T10:00:04.000Z",
    "createdBy": "usr_01J7…",
    "createdAt": "2026-09-20T08:12:31.000Z",
    "updatedAt": "2026-09-20T08:12:31.000Z",
    "deepLink": "https://popkit.loxily.com/calendar?post=pst_01J8ZK3R7QW6M2",
    "variants": [
      {
        "platform": "x",
        "content": "新功能上线 🚀 一次创作,发布到所有平台 → popkit.loxily.com",
        "title": null,
        "digest": "b1e4…"
      }
    ],
    "media": [
      {
        "kind": "image",
        "url": "https://storage.googleapis.com/…/cover.jpg",
        "inline": false,
        "platform": null,
        "durationSec": null,
        "sortOrder": 0
      }
    ],
    "targets": [
      {
        "id": "tgt_01J8…",
        "accountId": "acc_01J8XQ5M9V2R",
        "platform": "x",
        "status": "published",
        "permalink": "https://x.com/popkit/status/18…",
        "publishedAt": "2026-09-21T10:00:04.000Z",
        "attemptCount": 1,
        "errorCode": null,
        "errorParams": null,
        "errorText": null
      },
      {
        "id": "tgt_01J8…",
        "accountId": "acc_01J8Y…",
        "platform": "instagram",
        "status": "failed",
        "permalink": null,
        "publishedAt": null,
        "attemptCount": 1,
        "errorCode": "media_required",
        "errorParams": null,
        "errorText": null
      }
    ]
  },
  "meta": {
    "requestId": "6a1d0c9e-2b7f-4e3a-8c5d-1f0e9b8a7c64"
  }
}