Posts

Get post

Reads one post's current content, status, assigned profile, and version number.

GET/api/public/posts/:id
cURLGET /api/public/posts/:id
curl "https://postiv.ai/api/public/posts/ID_ID" \
  -H "Authorization: Bearer pk_postiv_..."
200Response
{
  "success": true,
  "post": {
    "id": "post1...",
    "title": null,
    "status": "draft",
    "content": "Most founders think...",
    "integrationId": 1234,
    "profile": {
      "id": 1234,
      "name": "Jan",
      "headline": "Founder",
      "picture": "https://..."
    },
    "latestVersion": 1,
    "hasImage": false,
    "openInPostivUrl": "https://postiv.ai/app/create?postId=post1..."
  }
}

Authorization

Requires an organization API key with the posts:read scope, sent as Authorization: Bearer or x-api-key.

Path parameters

idstringrequired

Resource id from the corresponding list or create endpoint.

Response

Full post object.

post.id / title / type / status / content / orgId / integrationId / templateId / planItemIdmixed
post.profileobject|null

{ id, name, headline, picture }: picture is fully resolved here (S3 signed URL or LinkedIn CDN upload fallback), unlike the list endpoint.

post.scheduledTime / queueStatus / latestVersion / hasImage / tags / author / openInPostivUrl / createdAt / updatedAtmixed

Errors

404post_not_found

Good to know

  • Posts with status scheduled/published are locked against edits (see update-post).