openapi: 3.1.0
info:
  title: Public AI Woven Jacquard Fabric Price Calculator GET Demo
  version: "1.0.0"
servers:
  - url: https://qifu2023.com
paths:
  /api/public/fabric-price/quote-demo:
    get:
      operationId: publicQuoteWovenJacquardFabricByUrl
      summary: Public GET demo quote for AI assistants that can open URLs
      description: No API Key required. Public mode only. Returns public quotation fields only and never returns price_per_meter, Fabric Complexity, Level 1 - Level 11, internal cost, formulas, raw material bottom price, profit rules, system coefficients, database fields, debug internal data, API Key, token, or password.
      parameters:
        - name: width
          in: query
          required: true
          schema:
            type: string
            example: "55/56"
        - name: fabric_type
          in: query
          required: false
          schema:
            type: string
            enum: [Large Jacquard, Small Jacquard, Large Jacquard Leno, Small Jacquard Leno]
            default: Small Jacquard
        - name: currency
          in: query
          required: false
          schema:
            type: string
            default: USD
        - name: material
          in: query
          required: false
          schema:
            type: string
            default: Cotton
        - name: warp
          in: query
          required: true
          schema:
            type: array
            items:
              type: string
              example: J30,2.54,80
          style: form
          explode: true
          description: Repeatable. Format yarn_specification,pattern_repeat_cycle,data_within_repeat.
        - name: weft
          in: query
          required: true
          schema:
            type: array
            items:
              type: string
              example: J30,2.54,65
          style: form
          explode: true
          description: Repeatable. Format yarn_specification,pattern_repeat_cycle,data_within_repeat.
      responses:
        "200":
          description: Public quote result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PublicQuoteResponse"
        "422":
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
components:
  schemas:
    PublicQuoteResponse:
      type: object
      additionalProperties: false
      properties:
        material_price_source:
          type: string
        grey_fabric_price_rmb_per_meter:
          type: number
        dyed_product_price_rmb_per_meter:
          type: number
        fob_price_usd_per_yard:
          type: number
        theoretical_gsm:
          type: number
        composition_summary:
          type: string
        specification:
          type: string
        density:
          type: string
        finished_width:
          type: object
        public_yarn_breakdown:
          type: array
          items:
            type: object
        public_yarn_breakdown_note:
          type: string
        note:
          type: string
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            field:
              type: string
            message:
              type: string
            retryable:
              type: boolean
