Get post
GET/posts/:id
Returns detailed information about a specific post, including content, media, schedule, and per-platform destination statuses.
Round-trip safe
The response shape here mirrors the request shape of POST /v1/posts. You can pull a post down, modify any field, and POST/PATCH it straight back — no field renaming. Canonical field names: post_id, content, account_ids, scheduled_for, timezone, media_ids, platform_content.
Request vs response field names
post_id— canonical.idis also returned for back-compat with integrations built before 2026-04-12.scheduled_for— canonical. This is the future time the post will publish (neverscheduled_at, which was the old misnomer).created_at— past time the post record was created. Different field, different meaning. Don't confuse it withscheduled_for.media_ids— convenience UUID array (round-trip safe againstPOST /v1/posts).media— fully hydrated array with type, dimensions, thumbnails. Response-only.account_id— individual account identifier inside eachdestinations[]entry.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string (UUID) | Yes | UUID of the post to fetch. Accepts id as a deprecated alias in the URL path. |
Response Example
200 — Post details
{
"data": {
"post_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "published",
"content": "Excited to share our latest update! Check it out.",
"account_ids": [2280, 2282, 2285],
"scheduled_for": "2026-04-15T14:30:00.000Z",
"timezone": "UTC",
"media_ids": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
"media": [
{
"media_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "image",
"width": 1920,
"height": 1080,
"duration": null
}
],
"platform_content": {
"instagram": { "contentType": "Reels" }
},
"destinations": [
{
"account_id": 2280,
"account_name": "@mybrand",
"platform": "instagram",
"status": "published",
"platform_post_id": "17895432678901234",
"platform_post_url": "https://www.instagram.com/p/ABC123/",
"published_at": "2026-04-15T14:30:05.000Z",
"error": null,
"attempts": 1
},
{
"account_id": 2282,
"account_name": "@mybrand",
"platform": "x",
"status": "published",
"platform_post_id": "1780123456789012345",
"platform_post_url": "https://x.com/mybrand/status/1780123456789012345",
"published_at": "2026-04-15T14:30:03.000Z",
"error": null,
"attempts": 1
},
{
"account_id": 2285,
"account_name": "My Brand Inc.",
"platform": "linkedin",
"status": "failed",
"platform_post_id": null,
"platform_post_url": null,
"published_at": null,
"error": "Token expired. Please reconnect your LinkedIn account.",
"attempts": 3
}
],
"created_at": "2026-04-10T12:00:00.000Z",
"updated_at": "2026-04-15T14:30:05.000Z"
},
"error": null,
"meta": {
"request_id": "a1b2c3d4",
"timestamp": "2026-04-15T15:00:00.000Z"
}
}
Post object fields
| Field | Type | Description |
|---|---|---|
post_id | string (UUID) | Canonical post identifier |
id | string (UUID) | Deprecated alias for post_id (same value). Use post_id in new code. |
status | string | draft, scheduled, published, or failed |
content | string | Text content of the post |
account_ids | integer[] | Target account IDs (round-trip safe against POST /v1/posts) |
scheduled_for | string (ISO 8601) or null | UTC datetime when the post is scheduled to publish (Z suffix) |
timezone | string | IANA timezone — display metadata only |
media_ids | string[] (UUID) | Convenience array of attached media UUIDs |
media | object[] | Full media objects with type, dimensions, duration |
platform_content | object | Per-platform overrides and settings |
destinations | object[] | One entry per target account — see below |
created_at | string (ISO 8601) | UTC timestamp when the post record was created |
updated_at | string (ISO 8601) | UTC timestamp of the most recent mutation |
Destination object fields
Each entry in destinations[] represents the post's state on one connected social account.
| Field | Type | Description |
|---|---|---|
account_id | integer | Account ID (matches an entry in account_ids) |
account_name | string or null | Display name or username on the platform |
platform | string | x, instagram, facebook, linkedin, youtube, tiktok, threads, or pinterest |
status | string | queued, publishing, published, or failed |
platform_post_id | string or null | Native post ID on the platform (once published) |
platform_post_url | string or null | Direct URL to the published post |
published_at | string (ISO 8601) or null | UTC timestamp of successful publish on this destination |
error | string or null | Human-readable error message if status == "failed" |
attempts | integer | Number of publish attempts for this destination |
Request
Responses
- 200
- 401
- 404
- 429
Post details
Missing or invalid API key
Resource not found
Rate limit exceeded
Response Headers
X-RateLimit-Limit
Request limit per window
X-RateLimit-Remaining
Remaining requests in current window
X-RateLimit-Reset
Unix timestamp when the window resets
Retry-After
Seconds to wait before retrying