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

# Bulk publish by criteria

> Bulk publish scraped products matching specified criteria



## OpenAPI

````yaml api-reference/v1/openapi.yaml post /v1/scraped-products/bulk/publish-by-criteria
openapi: 3.1.0
info:
  title: Goods API
  version: 1.0.0
  description: >-
    API for Goods grocery operations - scanner app, admin dashboard, and
    customer features
  contact:
    name: Goods Team
    url: https://goods.app
servers:
  - url: http://localhost:3000
    description: Local development
  - url: https://dev.api.switchyard.run
    description: Development
  - url: https://api.switchyard.run
    description: Production
security: []
tags:
  - name: v1
    description: API v1 - unified domain-based endpoints
  - name: Scanner
    description: Scanner app endpoints for drivers and pickers
  - name: Sweeps
    description: Sweep management - retail store pickup operations
  - name: RFC Picks
    description: Ready-for-checkout picking operations
  - name: Inventory
    description: Inventory management and barcode lookup
  - name: Admin
    description: Admin dashboard endpoints
  - name: Orders
    description: Order management
  - name: Products
    description: Product catalog management
  - name: Notifications
    description: Push, email, SMS, and Slack notification management
paths:
  /v1/scraped-products/bulk/publish-by-criteria:
    post:
      tags:
        - Scraped Products
      summary: Bulk publish by criteria
      description: Bulk publish scraped products matching specified criteria
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                category:
                  type: string
                  description: Category filter
                subcategory:
                  type: string
                  description: Subcategory filter
                require_description:
                  type: boolean
                  default: false
                  description: Require description
                require_image:
                  type: boolean
                  default: true
                  description: Require image
                require_size:
                  type: boolean
                  default: false
                  description: Require size
                require_barcode:
                  type: boolean
                  default: true
                  description: Require barcode
                require_category:
                  type: boolean
                  default: false
                  description: Require category
                require_retailer_mappings:
                  type: boolean
                  default: false
                  description: Require retailer mappings
                require_pricing:
                  type: boolean
                  default: false
                  description: Require pricing
                default_selling_price:
                  type: number
                  minimum: 0
                  description: Default selling price
                is_rfc_item:
                  type: boolean
                  default: false
                  description: Is RFC item
                limit:
                  type: integer
                  minimum: 1
                  maximum: 10000
                  default: 1000
                  description: Max products to process
                dry_run:
                  type: boolean
                  default: false
                  description: Preview without making changes
              description: Bulk publish by criteria request
      responses:
        '200':
          description: Bulk publish by criteria result
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      success:
                        type: boolean
                        enum:
                          - true
                      dry_run:
                        type: boolean
                        enum:
                          - true
                      eligible_count:
                        type: number
                      sample_products:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                            name:
                              type: string
                            brand:
                              type: string
                              nullable: true
                            image_url:
                              type: string
                              nullable: true
                            size:
                              type: string
                              nullable: true
                            full_category_hierarchy:
                              type: string
                              nullable: true
                          required:
                            - id
                            - name
                            - brand
                            - image_url
                            - size
                            - full_category_hierarchy
                          description: Sample product for dry run
                    required:
                      - success
                      - dry_run
                      - eligible_count
                      - sample_products
                    description: Bulk publish by criteria dry run response
                  - type: object
                    properties:
                      success:
                        type: boolean
                        enum:
                          - true
                      message:
                        type: string
                      published_count:
                        type: number
                    required:
                      - success
                      - message
                      - published_count
                    description: Bulk publish by criteria response
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                  - error
                description: Error response

````