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

# Get Publish History

> List past publish operations for the authenticated user. Returns publish
records including platform, content URLs, captions, post URLs, and status.

Use this to verify past publishes, track which content went to which platforms,
and audit publish failures.


Returns the publish history for your workspace, including status and destination details for each publish job.

Use this to audit what has been published, track pending or failed publishes, and build dashboards showing content distribution activity. Results are paginated and ordered by publish time (newest first).


## OpenAPI

````yaml GET /v1/publishing/history
openapi: 3.1.0
info:
  title: Lamina Apps API
  version: 1.0.0
  description: >
    Professional creative content production for AI agents. Create brand-aligned
    images, videos, and designs from natural-language briefs using 30+
    specialized AI pipelines.


    Unlike raw model APIs (DALL-E, Flux, Kling), Lamina automatically applies
    brand guidelines, selects the optimal multi-model pipeline, scores output
    quality, and delivers permanent CDN-hosted URLs with composability metadata
    for chaining.


    ## Authentication

    All endpoints require an API key passed via one of these headers:

    - `x-api-key: lma_your_key` (recommended)

    - `Authorization: Bearer lma_your_key`


    API keys are workspace-scoped. Create them in **Settings -> API Keys**.


    ## Quick Start (One-Call Path)

    `POST /v1/create` with `{ "brief": "product photo of sneakers", "sync": true
    }` — returns completed output inline with CDN URL.


    ## Quick Start (Advanced)

    1. `GET /v1/apps` -- browse 30+ specialized creative apps

    2. `GET /v1/apps/{appId}` -- inspect input parameters

    3. `POST /v1/apps/{appId}/runs?webhook=<url>` -- run with your inputs

    4. Receive results via webhook, poll `GET /v1/runs/{runId}`, or stream via
    `GET /v1/runs/{runId}/stream`


    ## Rate Limits

    All `/v1/*` endpoints are currently limited to 100 requests per minute per
    IP.

    On `429`, read the `RateLimit-*` and `Retry-After` headers before retrying.


    ## How Inputs Work

    When running an app, provide inputs as a JSON object keyed by parameter
    **name** (from the app details response).


    - **text** parameters: send a string value (e.g. a prompt or description)

    - **options** parameters: send the **label** of the option (e.g.
    `"Caucasian"`), not an internal value

    - **url** parameters: send a publicly accessible URL to an image or video


    Every parameter is returned with `required: true`. Parameters with a
    `default` can safely be omitted -- the app will use the default value.


    ## Endpoint Groups

    | Group | Purpose |

    |-------|---------|

    | **Apps** | Discover and inspect available content creation apps |

    | **Runs** | Run workflows, track progress, and retrieve results |

    | **Assets** | Browse generated images, videos, and text from past
    executions |

    | **Intelligence** | Brand context, performance prediction, recommendations,
    and trends |

    | **Publishing** | Publish content to connected social channels |

    | **Content** | One-call agent operations: create, score, brief, batch |

    | **Account** | Credit balance and rate limit visibility |

    | **Templates** | Content creation templates and strategies |

    | **Webhooks** | Webhook signature verification |
servers:
  - url: https://app.uselamina.ai
    description: Production
security:
  - apiKey: []
tags:
  - name: Create
    description: Create content from briefs, run specific apps, and use templates
  - name: Discover
    description: Find and inspect available apps and their input schemas
  - name: Track
    description: Monitor execution progress, retrieve results, and browse generated assets
  - name: Intelligence
    description: >-
      Brand context, performance prediction, content recommendations, and trend
      signals
  - name: Distribute
    description: Publish content to social channels and transfer assets to CDN
  - name: Score
    description: Evaluate content quality, brand alignment, and engagement potential
  - name: Account
    description: Credit balance, rate limits, and health checks
  - name: Webhooks
    description: Webhook signature verification for secure callback handling
paths:
  /v1/publishing/history:
    get:
      tags:
        - Distribute
      summary: Get Publish History
      description: >
        List past publish operations for the authenticated user. Returns publish

        records including platform, content URLs, captions, post URLs, and
        status.


        Use this to verify past publishes, track which content went to which
        platforms,

        and audit publish failures.
      operationId: getPublishHistory
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 25
            maximum: 100
          description: Maximum number of publish records to return.
        - name: status
          in: query
          required: false
          schema:
            type: string
          description: Filter by publish status (e.g. `published`, `failed`, `pending`).
          example: published
        - name: platform
          in: query
          required: false
          schema:
            type: string
          description: Filter by platform (e.g. `instagram`, `facebook`, `tiktok`).
          example: instagram
      responses:
        '200':
          description: List of publish history records
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PublishHistoryItem'
              example:
                data:
                  - id: pub-001
                    platform: instagram
                    contentType: image
                    contentUrl: https://media.getmason.io/api/assetlib/abc123.png
                    caption: Discover our new spring collection
                    postUrl: https://instagram.com/p/ABC123
                    status: published
                    error: null
                    publishedAt: '2026-04-15T11:00:00.000Z'
                    createdAt: '2026-04-15T10:59:55.000Z'
                  - id: pub-002
                    platform: facebook
                    contentType: video
                    contentUrl: https://media.getmason.io/api/assetlib/def456.mp4
                    caption: Behind the scenes of our latest shoot
                    postUrl: null
                    status: failed
                    error: Video format not supported by Facebook API
                    publishedAt: null
                    createdAt: '2026-04-14T16:30:00.000Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    PublishHistoryItem:
      type: object
      description: A record of a past publish operation.
      required:
        - id
        - status
        - createdAt
      properties:
        id:
          type: string
          format: uuid
          description: Unique publish record identifier
        platform:
          type: string
          nullable: true
          description: Platform the content was published to
        contentType:
          type: string
          description: Type of content published (e.g. `image`, `video`, `text`)
        contentUrl:
          type: string
          nullable: true
          description: URL of the content that was published
        caption:
          type: string
          nullable: true
          description: Caption text included with the post
        postUrl:
          type: string
          nullable: true
          description: URL of the published post on the platform (null if publish failed)
        status:
          type: string
          description: Publish status (e.g. `published`, `failed`, `pending`)
        error:
          type: string
          nullable: true
          description: Error message if publish failed. Null on success.
        publishedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the content was successfully published. Null if not yet
            published.
        createdAt:
          type: string
          format: date-time
          description: When the publish operation was initiated
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
          example:
            error: Invalid API key
    TooManyRequests:
      description: >-
        Rate limit exceeded. All `/v1/*` endpoints are currently limited to 100
        requests per minute per IP.
      headers:
        RateLimit-Policy:
          description: Active rate limit policy.
          schema:
            type: string
            example: 100;w=60
        RateLimit-Limit:
          description: Max requests allowed in the current window.
          schema:
            type: integer
            example: 100
        RateLimit-Remaining:
          description: Requests remaining in the current window.
          schema:
            type: integer
            example: 0
        RateLimit-Reset:
          description: Seconds until the current window resets.
          schema:
            type: integer
            example: 60
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
            example: 60
      content:
        text/plain:
          schema:
            type: string
          example: Too many requests from this IP, please try again in a minute
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Workspace API key. Prefix: `lma_`. Example: `lma_abc123...`'

````