Prodigi Quotes API

Request pricing and shipping breakdowns before ordering.

OpenAPI Specification

prodigi-quotes-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Prodigi Print Orders Quotes API
  description: The Prodigi Print API (v4.0) is a RESTful, JSON-based API for global print-on-demand fulfillment. It lets merchants create and manage print orders, request real-time quotes for pricing and shipping, and query the product catalogue by SKU. Orders progress through Prodigi's fulfillment stages, with per-order callbacks pushing status and shipment updates to a merchant-supplied callback URL.
  termsOfService: https://www.prodigi.com/terms/
  contact:
    name: Prodigi Support
    email: hi@prodigi.com
    url: https://www.prodigi.com/print-api/docs/
  version: '4.0'
servers:
- url: https://api.prodigi.com/v4.0
  description: Production
- url: https://api.sandbox.prodigi.com/v4.0
  description: Sandbox
security:
- ApiKeyAuth: []
tags:
- name: Quotes
  description: Request pricing and shipping breakdowns before ordering.
paths:
  /quotes:
    post:
      operationId: createQuote
      tags:
      - Quotes
      summary: Get a quote.
      description: Returns an array of quotes, each providing a breakdown of pricing, lab allocation, and shipping arrangements for a given set of items, a destination country, and a shipping method.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteRequest'
      responses:
        '200':
          description: Quote results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid request.
components:
  schemas:
    QuoteRequest:
      type: object
      required:
      - destinationCountryCode
      - items
      properties:
        shippingMethod:
          $ref: '#/components/schemas/ShippingMethod'
        destinationCountryCode:
          type: string
          description: Two-letter ISO country code for the shipping destination.
        currencyCode:
          type: string
          description: Three-letter ISO currency code for the returned costs.
        items:
          type: array
          items:
            $ref: '#/components/schemas/QuoteItem'
    ShippingMethod:
      type: string
      description: The shipping service level for the order.
      enum:
      - Budget
      - Standard
      - StandardPlus
      - Express
      - Overnight
    Cost:
      type: object
      properties:
        amount:
          type: string
        currency:
          type: string
    QuoteItem:
      type: object
      required:
      - sku
      - copies
      - assets
      properties:
        sku:
          type: string
        copies:
          type: integer
        attributes:
          type: object
          additionalProperties: true
        assets:
          type: array
          items:
            $ref: '#/components/schemas/Asset'
    Asset:
      type: object
      required:
      - printArea
      properties:
        printArea:
          type: string
          description: The print area this asset applies to, typically "default".
        url:
          type: string
          description: Publicly reachable URL of the print-ready asset.
        md5Hash:
          type: string
        pageCount:
          type: integer
          description: Number of pages; required for photobook products.
    Quote:
      type: object
      properties:
        shipmentMethod:
          type: string
        costSummary:
          type: object
          properties:
            items:
              $ref: '#/components/schemas/Cost'
            shipping:
              $ref: '#/components/schemas/Cost'
        shipments:
          type: array
          items:
            type: object
            additionalProperties: true
        items:
          type: array
          items:
            type: object
            additionalProperties: true
    QuoteResponse:
      type: object
      properties:
        outcome:
          type: string
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/Quote'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Prodigi API key, sent in the X-API-Key header on every request.