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

# List all posts with campaign lifecycle data

> Returns all posts scanned from a Facebook page or Instagram account, regardless of boost status. Each post includes its evaluation status for every campaign: not applicable (with reason), pending (with condition progress), active (with spend/metrics), or ended (with stop reason and totals).



## OpenAPI

````yaml https://api.boosterberg.com-beta.com/v1/doc/api-json post /star/list
openapi: 3.0.0
info:
  title: Boosterberg API
  description: REST API For Boosterberg user-facing application
  contact:
    name: Miloslav Kona
    email: mkona@bykd.com
  version: '1.0'
servers:
  - url: https://api.boosterberg.com-beta.com/v1
    description: dev server
  - url: https://auto.boost.api/v1
    description: local
  - url: https://api.boosterberg.com/v1
    description: production
security: []
tags:
  - name: Posts
    description: Post lifecycle and evaluation data across all campaigns
paths:
  /star/list:
    post:
      tags:
        - Posts
      summary: List all posts with campaign lifecycle data
      description: >-
        Returns all posts scanned from a Facebook page or Instagram account,
        regardless of boost status. Each post includes its evaluation status for
        every campaign: not applicable (with reason), pending (with condition
        progress), active (with spend/metrics), or ended (with stop reason and
        totals).
      operationId: 0de3b28506f0e3d942b57bf854bb326a
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                source_id:
                  description: Facebook Page ID or Instagram Account ID
                  type: string
                  example: '987654321'
                page:
                  description: Page number for pagination
                  type: integer
                  default: 1
                page_size:
                  description: Results per page (max 100)
                  type: integer
                  default: 50
              type: object
      responses:
        '200':
          description: Paginated list of posts with campaign lifecycle data
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PostLifecycle'
                  pagination:
                    properties:
                      page:
                        type: integer
                      page_size:
                        type: integer
                      total:
                        type: integer
                    type: object
                type: object
      security:
        - bearerAuth: []
components:
  schemas:
    PostLifecycle:
      properties:
        id:
          description: Facebook/Instagram post ID
          type: string
        message:
          description: Post text (truncated to 200 chars)
          type: string
        post_type:
          description: 'Post type: photo, video, link, status, reel, carousel, etc.'
          type: string
        platform:
          description: Facebook or Instagram
          type: string
          enum:
            - fb
            - ig
        image_url:
          description: >-
            Post thumbnail URL (detail endpoint only, omitted from list for
            performance)
          type: string
        permalink:
          description: Direct link to the post
          type: string
        created_at:
          description: When the post was published
          type: string
        campaigns:
          type: array
          items:
            $ref: '#/components/schemas/PostCampaignStatus'
      type: object
    PostCampaignStatus:
      properties:
        campaign_id:
          type: integer
        campaign_name:
          type: string
        status:
          description: Post status within this campaign
          type: string
          enum:
            - not_applicable
            - pending
            - active
            - ended
            - error
        reason:
          description: >-
            Why the post has this status (e.g. wrong post type, stop condition
            met)
          type: string
        conditions:
          description: Condition evaluation breakdown (for pending/active posts)
          type: array
          items:
            properties:
              name:
                description: Condition name
                type: string
              type:
                description: >-
                  Static conditions are based on post content; dynamic
                  conditions change over time
                type: string
                enum:
                  - static
                  - dynamic
              met:
                type: boolean
              unit:
                description: >-
                  Unit of measurement: hours, views, engagements, organic_reach,
                  total_reach, keyword, post_type, dollars
                type: string
              current:
                description: Current value (null if only available via cron)
              min_needed:
                description: Threshold needed to meet condition (boosting conditions)
              max_limit:
                description: Threshold that triggers stop (stop conditions)
            type: object
        boosted_at:
          description: When boosting started (active/ended)
          type: string
        stopped_at:
          description: When boosting stopped (ended)
          type: string
        spend:
          description: Total ad spend for this post in this campaign
          type: number
        reach:
          description: Total ad reach
          type: integer
        impressions:
          description: Total ad impressions
          type: integer
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      bearerFormat: JWT
      scheme: bearer

````