> ## Documentation Index
> Fetch the complete documentation index at: https://docs.woopsocial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List social account posts

> Returns standalone social account posts for the API key's organization.

Each item includes the content, schedule and delivery status for a given social account target.




## OpenAPI

````yaml /openapi.yaml get /social-account-posts
openapi: 3.1.0
info:
  title: WoopSocial API
  version: 1.0.0
  summary: API for WoopSocial integrations.
  description: >
    This is the public-facing OpenAPI contract for WoopSocial. It supports
    scheduling posts for various social media platforms such as Facebook,
    Instagram, LinkedIn, LinkedIn Pages, Pinterest, Threads, TikTok, X (formerly
    Twitter) and YouTube.
servers:
  - url: https://api.woopsocial.com/v1
    description: WoopSocial API URL.
  - url: http://localhost:9123/api/external/v1
    description: Local WoopSocial API URL.
security: []
tags:
  - name: Posts
    description: Post scheduling endpoints.
  - name: Projects
    description: Project discovery endpoints.
  - name: Social Accounts
    description: Connected social account discovery endpoints.
  - name: Media
    description: Media upload endpoints.
  - name: Webhooks
    description: Webhook endpoint management.
  - name: Health
    description: Basic connectivity endpoints.
paths:
  /social-account-posts:
    get:
      tags:
        - Posts
      summary: List social account posts
      description: >
        Returns standalone social account posts for the API key's organization.


        Each item includes the content, schedule and delivery status for a given
        social account target.
      operationId: listSocialAccountPosts
      parameters:
        - $ref: '#/components/parameters/ProjectIdsFilter'
        - $ref: '#/components/parameters/SocialAccountIdsFilter'
        - $ref: '#/components/parameters/PostIdsFilter'
        - $ref: '#/components/parameters/SocialPlatformFilter'
        - $ref: '#/components/parameters/DeliveryStatusFilter'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Social account posts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSocialAccountPostsResponse'
      security:
        - ApiKey: []
components:
  parameters:
    ProjectIdsFilter:
      name: projectId
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
      description: >-
        Filter to one or more projects. Provide a comma-separated list of
        project IDs.
    SocialAccountIdsFilter:
      name: socialAccountId
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
      description: >-
        Filter to one or more connected social accounts. Provide a
        comma-separated list of social account IDs.
    PostIdsFilter:
      name: postId
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
      description: >-
        Filter to one or more parent posts. Provide a comma-separated list of
        post IDs.
    SocialPlatformFilter:
      name: platform
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/SocialPlatform'
      description: >-
        Filter to one or more social platforms. Provide a comma-separated list
        of platform values.
    DeliveryStatusFilter:
      name: deliveryStatus
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/DeliveryStatus'
      description: >-
        Filter to one or more delivery statuses. Provide a comma-separated list
        of delivery status values.
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 100
        default: 50
      description: Number of items to return.
    Cursor:
      name: cursor
      in: query
      required: false
      schema:
        type: string
      description: Opaque cursor for the next page of results.
  schemas:
    ListSocialAccountPostsResponse:
      type: object
      additionalProperties: false
      required:
        - socialAccountPosts
      properties:
        socialAccountPosts:
          type: array
          items:
            $ref: '#/components/schemas/SocialAccountPost'
        nextCursor:
          type: string
          description: >-
            Opaque cursor for the next page of results. Omitted when there are
            no more results.
    SocialPlatform:
      type: string
      enum:
        - PINTEREST
        - LINKEDIN
        - LINKEDIN_PAGES
        - INSTAGRAM
        - FACEBOOK
        - THREADS
        - TIKTOK
        - X
        - YOUTUBE
        - WOOPTEST
      description: |
        Identifies which social media platform this data structure targets.
    DeliveryStatus:
      type: string
      description: >
        Delivery lifecycle status for a post.


        `NOT_STARTED`: The post exists and is scheduled, but delivery has not
        started yet.

        `SENDING`: Delivery is currently in progress.

        `PUBLISHED`: Delivery completed successfully.

        `FAILED`: Delivery completed unsuccessfully.
      enum:
        - NOT_STARTED
        - SENDING
        - PUBLISHED
        - FAILED
    SocialAccountPost:
      oneOf:
        - $ref: '#/components/schemas/PinterestPost'
        - $ref: '#/components/schemas/InstagramPost'
        - $ref: '#/components/schemas/FacebookPost'
        - $ref: '#/components/schemas/ThreadsPost'
        - $ref: '#/components/schemas/TikTokPost'
        - $ref: '#/components/schemas/YouTubePost'
        - $ref: '#/components/schemas/XPost'
        - $ref: '#/components/schemas/LinkedInPost'
        - $ref: '#/components/schemas/LinkedInPagesPost'
        - $ref: '#/components/schemas/WoopTestPost'
      discriminator:
        propertyName: platform
        mapping:
          PINTEREST:
            $ref: '#/components/schemas/PinterestPost'
          INSTAGRAM:
            $ref: '#/components/schemas/InstagramPost'
          FACEBOOK:
            $ref: '#/components/schemas/FacebookPost'
          THREADS:
            $ref: '#/components/schemas/ThreadsPost'
          TIKTOK:
            $ref: '#/components/schemas/TikTokPost'
          YOUTUBE:
            $ref: '#/components/schemas/YouTubePost'
          X:
            $ref: '#/components/schemas/XPost'
          LINKEDIN:
            $ref: '#/components/schemas/LinkedInPost'
          LINKEDIN_PAGES:
            $ref: '#/components/schemas/LinkedInPagesPost'
          WOOPTEST:
            $ref: '#/components/schemas/WoopTestPost'
    PinterestPost:
      title: Pinterest
      allOf:
        - $ref: '#/components/schemas/PinterestPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/PinterestFields'
    InstagramPost:
      title: Instagram
      allOf:
        - $ref: '#/components/schemas/InstagramPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/InstagramFields'
    FacebookPost:
      title: Facebook
      allOf:
        - $ref: '#/components/schemas/FacebookPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/FacebookFields'
    ThreadsPost:
      title: Threads
      allOf:
        - $ref: '#/components/schemas/ThreadsPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
    TikTokPost:
      title: TikTok
      allOf:
        - $ref: '#/components/schemas/TikTokPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/TikTokFields'
    YouTubePost:
      title: YouTube
      allOf:
        - $ref: '#/components/schemas/YouTubePlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/YouTubeFields'
    XPost:
      title: X
      allOf:
        - $ref: '#/components/schemas/XPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
    LinkedInPost:
      title: LinkedIn
      allOf:
        - $ref: '#/components/schemas/LinkedInPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/LinkedInFields'
    LinkedInPagesPost:
      title: LinkedIn Pages
      allOf:
        - $ref: '#/components/schemas/LinkedInPagesPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/LinkedInFields'
    WoopTestPost:
      title: WoopTest
      allOf:
        - $ref: '#/components/schemas/WoopTestPlatform'
        - $ref: '#/components/schemas/SocialAccountPostBase'
        - $ref: '#/components/schemas/WoopTestFields'
    PinterestPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - PINTEREST
    SocialAccountPostBase:
      type: object
      additionalProperties: false
      required:
        - socialAccountPostId
        - postId
        - projectId
        - socialAccountId
        - deliveryStatus
        - content
        - schedule
        - createdAt
        - updatedAt
      properties:
        socialAccountPostId:
          type: string
          description: Social account post identifier.
        postId:
          type: string
          description: Parent post identifier.
        projectId:
          type: string
          description: Project identifier.
        socialAccountId:
          type: string
          description: Connected social account identifier.
        deliveryStatus:
          $ref: '#/components/schemas/DeliveryStatus'
        content:
          $ref: '#/components/schemas/PostContent'
          description: Content for this social account post.
        schedule:
          $ref: '#/components/schemas/PostSchedule'
          description: Schedule for this social account post.
        createdAt:
          type: string
          format: date-time
          description: UTC time when the social account post was created.
        updatedAt:
          type: string
          format: date-time
          description: UTC time when the social account post was last updated.
        deliveryCompletedAt:
          type: string
          format: date-time
          description: >-
            UTC time when the latest delivery attempt for this social account
            post completed both for successful (`PUBLISHED`) and unsuccessful
            (`FAILED`) terminal `deliveryStatus` values.
        externalPostId:
          type: string
        externalPostUrl:
          type: string
          format: uri
        errorMessage:
          type: string
    PinterestFields:
      type: object
      required:
        - pinterestBoardId
      properties:
        pinterestBoardId:
          type: string
          description: Identifier of the board to pin to.
        title:
          type: string
        link:
          type: string
          maxLength: 2048
          description: Destination URL to attach to the Pin.
    InstagramPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - INSTAGRAM
    InstagramFields:
      type: object
      required:
        - postType
      properties:
        postType:
          $ref: '#/components/schemas/InstagramPostType'
        cover:
          $ref: '#/components/schemas/PostContentMediaInput'
          description: >
            Optional image media reference to use as the cover image for an
            Instagram Reel.


            This field applies only to `postType=REEL`.
    FacebookPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - FACEBOOK
    FacebookFields:
      type: object
      required:
        - postType
      properties:
        link:
          type: string
        locationId:
          type: string
          description: Facebook place ID to attach to the post.
        postType:
          $ref: '#/components/schemas/FacebookPostType'
    ThreadsPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - THREADS
    TikTokPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - TIKTOK
    TikTokFields:
      type: object
      required:
        - postType
        - privacyLevel
        - allowComment
        - allowDuet
        - allowStitch
        - isYourBrand
        - isBrandedContent
        - autoAddMusic
      properties:
        postType:
          $ref: '#/components/schemas/TikTokPostType'
        cover:
          $ref: '#/components/schemas/PostContentMediaInput'
          description: |
            Optional image media reference to use as a custom cover for
            `postType=VIDEO`. WoopSocial stitches the image as a single
            frame at the beginning of the video before sending it to TikTok.
        postMode:
          $ref: '#/components/schemas/TikTokPostMode'
          default: DIRECT_POST
          description: >
            TikTok posting mode.


            Defaults to `DIRECT_POST` when omitted.


            `DIRECT_POST` publishes directly to TikTok.


            `MEDIA_UPLOAD` uploads the media to TikTok so the creator can

            finish and publish it in TikTok. Users will receive an inbox
            notification.


            Fields not used by the selected mode may be ignored by TikTok.
        privacyLevel:
          $ref: '#/components/schemas/TikTokPrivacyLevel'
        allowComment:
          type: boolean
          description: Whether comments should be allowed for this TikTok post.
        allowDuet:
          type: boolean
          description: |
            Whether duets should be allowed for this TikTok post.

            This field applies to `postType=VIDEO`.

            When `postType=PHOTO`, this field is required by the API contract
            but is not used by TikTok.
        allowStitch:
          type: boolean
          description: |
            Whether stitches should be allowed for this TikTok post.

            This field applies to `postType=VIDEO`.

            When `postType=PHOTO`, this field is required by the API contract
            but is not used by TikTok.
        isYourBrand:
          type: boolean
          description: >-
            Whether the post should be disclosed as "Your brand" content on
            TikTok.
        isBrandedContent:
          type: boolean
          description: Whether the post should be disclosed as branded content on TikTok.
        isAiGeneratedContent:
          type: boolean
          default: false
          description: >
            Whether the TikTok post contains AI-generated content. This field
            applies to video posts.
        autoAddMusic:
          type: boolean
          description: |
            Whether TikTok should automatically add music to this post.

            This field applies to `postType=PHOTO`.

            When `postType=VIDEO`, this field is required by the API contract
            but is not used by TikTok.
    YouTubePlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - YOUTUBE
    YouTubeFields:
      type: object
      required:
        - title
        - privacy
      properties:
        title:
          type: string
        privacy:
          $ref: '#/components/schemas/YouTubePrivacy'
        category:
          type: string
        tags:
          type: array
          items:
            type: string
        madeForKids:
          type: boolean
    XPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - X
    LinkedInPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - LINKEDIN
    LinkedInFields:
      type: object
      properties:
        link:
          type: string
          description: URL to publish as a LinkedIn link preview card.
    LinkedInPagesPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - LINKEDIN_PAGES
    WoopTestPlatform:
      type: object
      required:
        - platform
      properties:
        platform:
          allOf:
            - $ref: '#/components/schemas/SocialPlatform'
            - type: string
              enum:
                - WOOPTEST
    WoopTestFields:
      type: object
      properties:
        shouldSucceed:
          type: boolean
          default: true
          description: |
            Whether the simulated delivery should succeed or fail.

            Defaults to `true`. Set to `false` to simulate a delivery failure.
    PostContent:
      type: array
      minItems: 1
      maxItems: 1
      description: |
        Post content expressed as thread items.

        The array exists for future thread support. Currently exactly one item
        is returned.
      items:
        $ref: '#/components/schemas/PostContentItem'
    PostSchedule:
      description: When the post should be published.
      oneOf:
        - $ref: '#/components/schemas/DraftPostSchedule'
        - $ref: '#/components/schemas/PublishNowPostSchedule'
        - $ref: '#/components/schemas/ScheduleForLaterPostSchedule'
      discriminator:
        propertyName: type
        mapping:
          DRAFT:
            $ref: '#/components/schemas/DraftPostSchedule'
          PUBLISH_NOW:
            $ref: '#/components/schemas/PublishNowPostSchedule'
          SCHEDULE_FOR_LATER:
            $ref: '#/components/schemas/ScheduleForLaterPostSchedule'
    InstagramPostType:
      type: string
      enum:
        - POST
        - REEL
        - STORY
    PostContentMediaInput:
      description: |
        Content media reference.
      oneOf:
        - $ref: '#/components/schemas/MediaLibraryPostContentMediaInput'
      discriminator:
        propertyName: type
        mapping:
          MEDIA_LIBRARY:
            $ref: '#/components/schemas/MediaLibraryPostContentMediaInput'
    FacebookPostType:
      type: string
      enum:
        - TEXT_ONLY
        - IMAGE
        - VIDEO
        - REEL
        - STORY
    TikTokPostType:
      type: string
      enum:
        - VIDEO
        - PHOTO
    TikTokPostMode:
      type: string
      enum:
        - DIRECT_POST
        - MEDIA_UPLOAD
    TikTokPrivacyLevel:
      type: string
      enum:
        - PUBLIC_TO_EVERYONE
        - SELF_ONLY
        - MUTUAL_FOLLOW_FRIENDS
        - FOLLOWER_OF_CREATOR
    YouTubePrivacy:
      type: string
      enum:
        - public
        - private
        - unlisted
    PostContentItem:
      type: object
      additionalProperties: false
      minProperties: 1
      properties:
        text:
          type: string
          description: Text content for this thread item.
        media:
          type: array
          items:
            $ref: '#/components/schemas/PostContentMedia'
    DraftPostSchedule:
      title: Draft
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - DRAFT
    PublishNowPostSchedule:
      title: Publish Now
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - PUBLISH_NOW
    ScheduleForLaterPostSchedule:
      title: Schedule For Later
      type: object
      additionalProperties: false
      required:
        - type
        - scheduledFor
      properties:
        type:
          type: string
          enum:
            - SCHEDULE_FOR_LATER
        scheduledFor:
          type: string
          format: date-time
          description: UTC time (ISO 8601) when the post should be published.
    MediaLibraryPostContentMediaInput:
      title: Media Library Input
      type: object
      additionalProperties: false
      required:
        - type
        - mediaId
      properties:
        type:
          type: string
          enum:
            - MEDIA_LIBRARY
        mediaId:
          type: string
          description: >-
            Media identifier create by calling [`POST
            /media/upload-sessions`](/api-reference/media/start-media-upload-session)
            or [`POST /media`](/api-reference/media/upload-media).
    PostContentMedia:
      description: |
        Resolved content media.
      oneOf:
        - $ref: '#/components/schemas/MediaLibraryPostContentMedia'
      discriminator:
        propertyName: type
        mapping:
          MEDIA_LIBRARY:
            $ref: '#/components/schemas/MediaLibraryPostContentMedia'
    MediaLibraryPostContentMedia:
      title: Media Library Post Content Media
      type: object
      additionalProperties: false
      required:
        - type
        - mediaId
        - mediaType
        - url
        - thumbnailUrl
      properties:
        type:
          type: string
          enum:
            - MEDIA_LIBRARY
        mediaId:
          type: string
          description: Media identifier from the media library.
        mediaType:
          $ref: '#/components/schemas/MediaType'
        url:
          type: string
          format: uri
          description: Canonical media URL.
        thumbnailUrl:
          type: string
          format: uri
          description: Thumbnail or preview URL for the media item.
    MediaType:
      type: string
      enum:
        - IMAGE
        - VIDEO
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: API key

````