---
title: "Submit or revise a structured quote through a secure RFQ token"
method: POST
path: "/v1/rfqs/{rfq_token}/quotes"
tags: ["Supplier response"]
---

# Submit or revise a structured quote through a secure RFQ token

`POST /v1/rfqs/{rfq_token}/quotes`

## Request

- Base URL: `https://api.supplyslate.com`
- URL: `https://api.supplyslate.com/v1/rfqs/{rfq_token}/quotes`
- Auth: none required

## Path parameters

- `rfq_token` string, required

## Headers

- `Idempotency-Key` string

## Request body

- QuoteWrite
  - `quote_id` string
  - `quote_number` string
  - `currency` string, required
  - `valid_until` string, date
  - `delivery_terms` string
  - `payment_terms` string
  - `warranty` string
  - `notes` string
  - `shipping_minor` integer
  - `tax_minor` integer
  - `fees_minor` integer
  - `items` QuoteItemWrite[], required
    - `request_item_id` string, required
    - `catalog_item_id` string
    - `description` string, required
    - `manufacturer` string
    - `manufacturer_part_number` string
    - `quantity` number, required
    - `unit` string, required
    - `unit_price_minor` integer, required
    - `minimum_order_quantity` number
    - `package_multiple` number
    - `availability_status` 'in_stock' | 'limited' | 'backorder' | 'made_to_order' | 'unavailable' | 'unknown'
    - `lead_time_days` integer
    - `relationship` 'exact' | 'compatible' | 'alternative' | 'unverified'
    - `evidence` object[]
      - `source_class` 'supplier_submitted' | 'supplier_api' | 'supplier_document' | 'public_official' | 'transaction', required
      - `source_url` string, uri
      - `statement` string, required
      - `observed_at` string, date-time

## Response `201`

Created durably

- QuoteResponse
  - `quote` Quote, required
    - `id` string, required
    - `match_id` string
    - `supplier_id` string
    - `currency` string
    - `status` string
    - `valid_until` string, date-time, nullable
    - `items` object[]
    - `evidence` EvidenceScope[]
      - `source_class` string, required
      - `source_url` string, uri, nullable
      - `observed_at` string, date-time, nullable
      - `expires_at` string, date-time, nullable
      - `verification_status` string, required
      - `confidence` number, nullable
  - `request_id` string

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Scope or tenant boundary denied
- `404`: Resource not found
- `409`: State conflict or idempotency mismatch
- `429`: Rate limited

---

[API](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api.md) · [All operations](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/revisions/f7989551f167?raw)
