REST APIGET

Get Post

Retrieve one post by ID with full per-platform status, media and scheduling details from the AdaptlyPost REST API.

GEThttps://post.adaptlypost.com/post/api/v1/social-posts/:id

Returns the full details of a specific post, including per-platform status, published URLs, and error messages if any platform failed.

API Key (Bearer token)
Permission:posts.readRoles and permissions

Platform Status

Each platform in the platforms array has its own status. A post's top-level status reflects the aggregate, it will be COMPLETED if at least one platform succeeded, PARTIAL_FAILURE if some platforms failed, and FAILED only if all platforms failed.

Response fields

FieldDescription
idPost ID
userIdThe member who created the post
statusDRAFT, SCHEDULED, PENDING, PUBLISHING, COMPLETED, PARTIAL_FAILURE or FAILED
contentTypeTEXT, IMAGE, VIDEO, CAROUSEL or DOCUMENT
textThe default text for every platform
scheduledAt, timezoneWhen the post is set to go out (ISO 8601), and the IANA timezone sent with it. scheduledAt is left out when the post has no time
mediaUrls, mediaAltTextsThe media as submitted and its alt text per image, in the same order. Shared by every platform entry
thumbnailUrl, thumbnailTimestampMsThe video thumbnail URL, or the frame picked as thumbnail in milliseconds, when one was sent
recurringPostId, occurrenceAtSet only on a post created by a recurring series. See the section on recurring posts below
platformsOne entry per account the post goes to, with the fields below
createdAt, updatedAtWhen the post was created and last changed

Platform entry fields

FieldDescription
idPlatform entry ID. POST /api/v1/social-posts/:id/retry accepts it in platformIds
platformFACEBOOK, INSTAGRAM, THREADS, TIKTOK, TWITTER, BLUESKY, MASTODON, LINKEDIN, PINTEREST or YOUTUBE
statusPENDING, PUBLISHING, PUBLISHED or FAILED
connectionIdThe account id from /social-accounts
pageId, facebookPageExternalIdFACEBOOK only. The Facebook page id, the same value as pageId on /social-accounts
accountNameName of the connected account
textThe text sent to this platform, after platformTexts is applied
platformPostIdThe post's ID on the platform, once published
postUrlPublic link to the published post. Set once platformPostId is known, for every platform except MASTODON
errorMessageWhy this platform failed
publishedAtWhen this platform published the post
mediaUrls, mediaAltTexts, previewUrlsThe media and alt text sent to this platform, and the previews we host. See the section on media previews below
thumbnailUrl, thumbnailTimestampMsThe thumbnail image or frame set for this platform through platformThumbnails. Absent when the platform uses the post thumbnail
firstComment, firstCommentStatus, firstCommentId, firstCommentError, firstCommentPublishedAtThe first comment set for this platform and how it went. firstCommentStatus is PENDING until the comment goes out, then PUBLISHED with firstCommentId and firstCommentPublishedAt, or FAILED with firstCommentError. A failed comment leaves the post published. All null when the platform has no first comment
tiktokDraftFallbackTikTok only. true when TikTok's daily direct-posting limit was hit and the content went to the TikTok inbox as a draft instead
instagramTrialGraduationInstagram only. MANUAL or SS_PERFORMANCE when the reel publishes as a trial reel. See Platform Configs
linkedinDocumentTitleLinkedIn only. The title of a DOCUMENT post, when one was set
twitterKeepLinksX only. true when links in the X text were asked to stay clickable. Only honored for AppSumo lifetime deals
pinterest*, tiktok*, instagram*, facebook*, youtube*The platform config the entry was created with, for example pinterestBoardId, tiktokPrivacyLevel, instagramPostType, facebookPostType or youtubePrivacyStatus. See Platform Configs

Media Previews

Each platform has a previewUrls array with preview images we host (WebP, up to 720px, a still frame for videos). It is filled in shortly after publishing starts and normally holds one entry per media item, where an empty string means that item could not be rendered. A post whose media had already expired gets a single cover image instead. After publishing, mediaUrls may be replaced by the platform's own CDN links, which expire within days, and the uploaded source files are removed. Use previewUrls for anything you display later.

Recurring Posts

A post created by a recurring series has two more fields. recurringPostId is the series it belongs to. occurrenceAt is the series date it fills, and it stays the same when you reschedule the post. Other posts leave both fields out. Deleting one post of a series skips that date, and the series continues.

Get a Social Post
curl --request GET \
  --url https://post.adaptlypost.com/post/api/v1/social-posts/post_xyz789 \
  --header 'Authorization: Bearer <api-key>'
200
{
  "id": "post_xyz789",
  "contentType": "IMAGE",
  "text": "Check out our new product launch!",
  "status": "COMPLETED",
  "scheduledAt": "2026-03-14T14:00:00Z",
  "timezone": "America/New_York",
  "mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
  "platforms": [
    {
      "id": "pp_001",
      "platform": "TWITTER",
      "status": "PUBLISHED",
      "accountName": "@yourhandle",
      "platformPostId": "1234567890",
      "postUrl": "https://x.com/i/status/1234567890",
      "publishedAt": "2026-03-14T14:00:02Z",
      "mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
      "previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
    },
    {
      "id": "pp_003",
      "platform": "TIKTOK",
      "status": "PUBLISHED",
      "accountName": "@yourtiktok",
      "tiktokDraftFallback": true,
      "publishedAt": "2026-03-14T14:00:05Z",
      "mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
      "previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
    },
    {
      "id": "pp_002",
      "platform": "LINKEDIN",
      "status": "FAILED",
      "accountName": "Your Company",
      "errorMessage": "Image format not supported",
      "mediaUrls": ["https://cdn.adaptlypost.com/social-media-posts/uuid/photo.jpg"],
      "previewUrls": ["https://cdn.adaptlypost.com/social-media-posts/previews/post_xyz789/1f0c9a7e2b4d6a8c0e1f.webp"]
    }
  ],
  "createdAt": "2026-03-14T13:55:00Z",
  "updatedAt": "2026-03-14T14:00:10Z"
}