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

# List Posts

> Lista posts recentes do blog da loja, do mais novo para o mais antigo.
<Note>Posts marcados como privados não aparecem aqui, mas continuam acessíveis por link direto em `GET /webstore/post/{slug}`.</Note>



## OpenAPI

````yaml /openapi/storefront-catalog.yaml get /webstore/post
openapi: 3.1.0
info:
  title: CentralCart Storefront API (Catálogo)
  version: 1.0.0
  description: >-
    Produtos, categorias e posts do blog da loja. Nenhum destes endpoints exige
    autenticação. A loja é resolvida pelo header `x-store-domain`.
servers:
  - url: https://api.centralcart.io/v1
    description: Produção
security: []
paths:
  /webstore/post:
    get:
      tags:
        - Catalogo
      summary: List Posts
      description: >-
        Lista posts recentes do blog da loja, do mais novo para o mais antigo.

        <Note>Posts marcados como privados não aparecem aqui, mas continuam
        acessíveis por link direto em `GET /webstore/post/{slug}`.</Note>
      operationId: listWebstorePosts
      parameters:
        - $ref: '#/components/parameters/StoreDomain'
        - name: page
          in: query
          required: false
          description: 'Página para paginação (default: 1)'
          schema:
            type: number
      responses:
        '200':
          description: Lista de posts
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    description: Metadados de paginação
                    properties:
                      total:
                        type: number
                      per_page:
                        type: number
                      current_page:
                        type: number
                      last_page:
                        type: number
                  data:
                    type: array
                    description: Lista de posts
                    items:
                      $ref: '#/components/schemas/Post'
              example:
                meta:
                  total: 2
                  per_page: 15
                  current_page: 1
                  last_page: 1
                data:
                  - id: 1
                    store_id: 1
                    title: Bem-vindo à CentralCart
                    content: <p>Conteúdo do post</p>
                    author: Equipe CentralCart
                    image: https://cdn.centralcart.io/stores/1/posts/cover.png
                    slug: bem-vindo-a-centralcart
                    published_at: 03 mar. 2024
                    path: /post/bem-vindo-a-centralcart
                    created_at: '2024-03-03T23:43:12.000-03:00'
                    updated_at: '2024-03-03T23:43:12.000-03:00'
        '404':
          $ref: '#/components/responses/StoreNotFound'
      security: []
components:
  parameters:
    StoreDomain:
      name: x-store-domain
      in: header
      required: true
      description: 'Domínio da sua loja (ex: sualoja.centralcart.ai)'
      schema:
        type: string
  schemas:
    Post:
      type: object
      properties:
        id:
          type: number
        store_id:
          type: number
        title:
          type: string
        content:
          type: string
          description: Corpo do post em HTML.
        author:
          type: string
        image:
          type: string
          nullable: true
        slug:
          type: string
        private:
          type: boolean
          description: >-
            Post privado fica fora da listagem, mas continua acessível pelo
            slug. Marque a página como `noindex` quando for `true`.
        published_at:
          type: string
          description: 'Data de publicação já formatada em português, ex: `03 mar. 2024`.'
        path:
          type: string
          description: Caminho do post no storefront da CentralCart.
        brief:
          type: string
          description: Primeiros 400 caracteres do conteúdo, cortando em palavra inteira.
        excerpt:
          type: string
          description: Resumo de 150 caracteres, para prévia e meta description.
        created_at:
          type: string
        updated_at:
          type: string
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              ref:
                type: string
  responses:
    StoreNotFound:
      description: Loja não encontrada para o `x-store-domain` informado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            errors:
              - message: Store not found.

````