---
title: "Price a whole list (up to 50 lines) in one call"
method: POST
path: "/api/v1/quote-list"
tags: ["Quotes"]
---

# Price a whole list (up to 50 lines) in one call

`POST /api/v1/quote-list`

## Request

- Base URL: `https://mcp.connective-labs.com`
- URL: `https://mcp.connective-labs.com/api/v1/quote-list`
- Auth: none declared

Price a whole shopping list or RFQ in one call: many line items, each with its own quantity, for office and IT supplies and instant event print (name cards, lanyards, roll-up banners, tote bags). Returns per line the match level (exact, spec, similar, needs_detail or no_match), the all-in SGD price (9% GST and Singapore delivery included) and the ready-by date, plus a total for priced lines and a list of what to clarify with the buyer. Pass lines as strings ('3 x HDMI cable 5m') or objects with item, quantity, category, brand, model, specs. Never invent prices for unpriced lines: ask what clarify lists, or convert the list to a firm quote with request_quote (pass list_id).

## Request body

- object
  - `items` union[]: Line items, up to 50.
    - union
      - string: One line in the buyer's words, quantity included, e.g. '3 x HDMI cable 5m', 'microSD 128GB x10', '2 pcs HP 206A cyan toner'.
      - object
        - `item` string: The buyer's own wording for this line.
        - `quantity` integer
        - `category` string: Optional: a supplies category (cable, adapter, usb-hub, memory-card, flash-drive, ssd, hdd, card-reader, ...) or an event print category (name-cards, lanyards, roll-up-banners, tote-bags).
        - `brand` string
        - `model` string: Model number or cartridge code exactly as printed.
        - `specs` object: Same fields as quote_office_supplies specs: connectors, length, capacity, card_type, va_rating, colour, ports, screen_size, wireless, interface.
  - `text` string: Alternative to items: a pasted free-text list, one item per line (quantities like '3 x', 'x3', '3 pcs' are recognised).
  - `needed_by` string: Deadline for the whole list, YYYY-MM-DD, Singapore time.
  - `delivery_area` string: Delivery address or area in Singapore (prices already include Singapore delivery).
  - `buyer_email` string: Optional: buyer email, used if the list is converted to a firm quote.
  - `company` string: Optional: buyer company.

## Response `200`

Result (same JSON as the MCP tool of the same name). When nothing matched, email_fallback says where to send the request.

- object

## Other responses

- `400`: Invalid input
- `429`: Rate limited; retry after 60 seconds

---

[API](https://skmtc.dev/connective-labs/apis/singapore-buying-desk-api.md) · [All operations](https://skmtc.dev/connective-labs/apis/singapore-buying-desk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/connective-labs/apis/singapore-buying-desk-api/revisions/03f9e68d1eac?raw)
