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

# List published consumer listings, retail prices and caller-aware availability

>  Responses are no-store. Caller prices, provider identifiers and payment methods are never accepted. All responses are no-store and no-referrer. Shipping supports all 50 U.S. states and DC; Alaska and Hawaii require Expedited. Territories are unsupported.



## OpenAPI

````yaml https://api.batchrelay.com/openapi.json get /v1/consumer/catalog
openapi: 3.1.0
info:
  description: >-
    Provider-neutral print catalog and prepared-media validation. This document
    covers only routes owned by the Go service; it deliberately excludes
    migration-proxied order lifecycle routes and all provider payloads.
  license:
    name: Proprietary
    url: https://github.com/SENTINELITE/Batch-Relay-Go/blob/main/README.md
  title: Batch Relay API
  version: 1.0.1
servers:
  - url: https://api.batchrelay.com
security: []
tags:
  - description: >-
      Explicitly authorized purchaser context for studio order events. Event
      payloads remain free of contact details.
    name: Event context
  - description: Service health and the public API description.
    name: System
  - description: Test Mode session creation and API credential entry points.
    name: Authentication
  - description: >-
      Provider-neutral canonical catalog resources and platform-owned semantic
      definitions.
    name: Catalog
  - description: Studio-scoped guest checkout-link management.
    name: Checkout links
  - description: >-
      One-way operational event messages. Alert emails contain no message body
      and recipients read messages after Batch Relay authentication.
    name: Studio messages
  - description: >-
      Explicit, reviewable sandbox-to-Live promotion plans for forms, catalog,
      and storefront configuration.
    name: Sandbox promotions
  - description: Provider-neutral validation, quoting, and order lifecycle operations.
    name: Print orders
  - description: Managed fulfillment asset ingestion and metadata.
    name: Managed assets
  - description: Studio-scoped original asset upload sessions and objects.
    name: Studio assets
  - description: Prepared and confirmed event roster team changes.
    name: Event team changes
  - description: Authenticated studio, event, and form-management operations.
    name: Studio management
  - description: >-
      Authenticated studio retail catalog management. Draft and publication
      lifecycles are explicit per product or package.
    name: Studio catalog
  - description: >-
      Authenticated singular storefront assortment management. PATCH atomically
      publishes a new immutable assortment revision; no storefront draft
      lifecycle exists yet.
    name: Storefront
  - description: Managed media used by the studio retail catalog.
    name: Studio catalog assets
  - description: Template rendering job creation and retrieval.
    name: Template renders
  - description: >-
      Published browser-side template packages and short-lived server proof
      renders. Preview artifacts are never fulfillment artwork.
    name: Browser previews
  - description: API account and credential administration.
    name: API accounts
  - description: >-
      Standalone guest commerce with published listing prices, admission
      controls, hosted checkout and shared payment tokens.
    name: Consumer printing
paths:
  /v1/consumer/catalog:
    parameters:
      - $ref: '#/components/parameters/ClientSurface'
      - $ref: '#/components/parameters/ClientVersion'
      - $ref: '#/components/parameters/InvocationMode'
    get:
      tags:
        - Consumer printing
      summary: >-
        List published consumer listings, retail prices and caller-aware
        availability
      description: ' Responses are no-store. Caller prices, provider identifiers and payment methods are never accepted. All responses are no-store and no-referrer. Shipping supports all 50 U.S. states and DC; Alaska and Hawaii require Expedited. Territories are unsupported.'
      operationId: getConsumerPrintCatalog
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerCatalog'
          description: Success
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Invalid request
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Session capability unavailable
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Payment declined or requires buyer action
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Quote, price, reservation or session conflict
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '410':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Handoff invalid, expired or consumed
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Unsupported destination, artwork, shipping or payment token
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Subject budget exhausted
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
            Retry-After:
              description: >-
                Seconds until retry, when day-scoped; admission_closed uses
                3600. Lifetime budgets require a new session.
              schema:
                minimum: 1
                type: integer
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerError'
          description: Admission closed or dependency unavailable
          headers:
            Cache-Control:
              schema:
                const: no-store
                type: string
            Referrer-Policy:
              schema:
                const: no-referrer
                type: string
            Retry-After:
              description: >-
                Seconds until retry, when day-scoped; admission_closed uses
                3600. Lifetime budgets require a new session.
              schema:
                minimum: 1
                type: integer
      security: []
components:
  parameters:
    ClientSurface:
      description: >-
        Untrusted optional analytics hint naming the calling client surface. It
        never affects authorization, routing, pricing, or behavior.
      in: header
      name: X-BatchRelay-Client-Surface
      required: false
      schema:
        maxLength: 100
        minLength: 1
        type: string
    ClientVersion:
      description: >-
        Untrusted optional analytics hint naming the calling client version. It
        never affects authorization, routing, pricing, or behavior.
      in: header
      name: X-BatchRelay-Client-Version
      required: false
      schema:
        maxLength: 100
        minLength: 1
        type: string
    InvocationMode:
      description: >-
        Untrusted optional analytics hint naming the invocation mode. It never
        affects authorization, routing, pricing, or behavior.
      in: header
      name: X-BatchRelay-Invocation-Mode
      required: false
      schema:
        maxLength: 100
        minLength: 1
        type: string
  schemas:
    ConsumerCatalog:
      additionalProperties: false
      properties:
        availability:
          additionalProperties: false
          properties:
            checkout:
              enum:
                - open
                - closed
              type: string
            payment_routes:
              items:
                enum:
                  - hosted_checkout
                  - agent_spt
                type: string
              type: array
            reason:
              type: string
          required:
            - checkout
            - payment_routes
          type: object
        currency:
          type: string
        destinations:
          additionalProperties: false
          properties:
            country:
              type: string
            coverage:
              type: string
            unsupported_regions:
              items:
                type: string
              type: array
          required:
            - country
            - coverage
            - unsupported_regions
          type: object
        limits:
          additionalProperties: false
          properties:
            max_lines:
              maximum: 1000000
              minimum: 0
              type: integer
            max_quantity_per_line:
              maximum: 1000000
              minimum: 0
              type: integer
            max_total_quantity:
              maximum: 1000000
              minimum: 0
              type: integer
          required:
            - max_lines
            - max_quantity_per_line
            - max_total_quantity
          type: object
        listings:
          items:
            $ref: '#/components/schemas/ConsumerListing'
          type: array
        mode:
          enum:
            - test
            - live
          type: string
        payment_cost_policy_version:
          type: string
        price_revision:
          type: string
        products:
          items:
            additionalProperties: false
            properties:
              id:
                type: string
              name:
                type: string
              unit_amount:
                maximum: 1000000
                minimum: 0
                type: integer
            required:
              - id
              - name
              - unit_amount
            type: object
          type: array
        schema_version:
          maximum: 1000000
          minimum: 0
          type: integer
        seller:
          $ref: '#/components/schemas/ConsumerSeller'
        shipping_options:
          items:
            additionalProperties: false
            properties:
              base_amount_cents:
                maximum: 1000000
                minimum: 0
                type: integer
              delivery_estimate:
                type: string
              disclosure:
                type: string
              eligibility:
                items:
                  type: string
                type: array
              label:
                type: string
              service:
                type: string
              tracking:
                type: string
            required:
              - service
              - label
              - tracking
              - base_amount_cents
              - delivery_estimate
              - eligibility
            type: object
          type: array
      required:
        - schema_version
        - currency
        - mode
        - price_revision
        - payment_cost_policy_version
        - seller
        - availability
        - listings
        - shipping_options
        - destinations
        - limits
        - products
      type: object
    ConsumerError:
      additionalProperties: false
      properties:
        code:
          enum:
            - price_changed
            - quote_expired
            - listing_unavailable
            - destination_unsupported
            - artwork_incompatible
            - admission_closed
            - shipping_unavailable
            - total_mismatch
            - quote_already_used
            - handoff_invalid
            - handoff_completed
            - payment_declined
            - payment_requires_action
            - payment_token_invalid
            - rate_limited
            - consumer_session_unavailable
            - consumer_conflict
            - session_upload_limit
            - checkout_recovery_required
            - invalid_request
            - idempotency_key_required
            - consumer_print_unavailable
            - invalid_arguments
            - consumer_mode_required
          type: string
        details:
          additionalProperties: true
          type: object
        docs_url:
          format: uri
          type: string
        error:
          type: string
        message:
          type: string
        next_action:
          enum:
            - refresh_catalog
            - requote
            - change_destination
            - replace_artwork
            - choose_shipping_option
            - confirm_total
            - retry_later
            - start_new_session
            - refresh_session
            - use_browser_checkout
            - issue_new_payment_token
            - check_order_status
            - fix_request
          type: string
        request_id:
          type: string
        retryable:
          type: boolean
      required:
        - error
        - code
        - message
        - next_action
        - retryable
        - docs_url
        - request_id
      type: object
    ConsumerListing:
      additionalProperties: false
      properties:
        artwork:
          additionalProperties: false
          properties:
            aspect_ratio:
              additionalProperties: false
              properties:
                long:
                  maximum: 1000000
                  minimum: 0
                  type: integer
                short:
                  maximum: 1000000
                  minimum: 0
                  type: integer
              required:
                - short
                - long
              type: object
            min_pixels:
              additionalProperties: false
              properties:
                long_edge:
                  maximum: 1000000
                  minimum: 0
                  type: integer
                short_edge:
                  maximum: 1000000
                  minimum: 0
                  type: integer
              required:
                - short_edge
                - long_edge
              type: object
            orientation:
              type: string
          required:
            - aspect_ratio
            - orientation
            - min_pixels
          type: object
        availability:
          type: string
        display_name:
          type: string
        listing_id:
          type: string
        options:
          items:
            additionalProperties: false
            properties:
              option_id:
                type: string
              value:
                type: string
            required:
              - option_id
              - value
            type: object
          type: array
        price_revision:
          type: string
        price_version:
          type: string
        product:
          additionalProperties: false
          properties:
            product_id:
              type: string
            revision:
              minimum: 1
              type: integer
          required:
            - product_id
            - revision
          type: object
        unit_price_cents:
          maximum: 1000000
          minimum: 0
          type: integer
      required:
        - listing_id
        - display_name
        - product
        - options
        - artwork
        - unit_price_cents
        - price_version
        - price_revision
        - availability
      type: object
    ConsumerSeller:
      additionalProperties: false
      properties:
        merchant_of_record:
          type: string
        name:
          type: string
      required:
        - name
        - merchant_of_record
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.