---
title: "Request Quote"
method: POST
path: "/api/v1/projects/{project_id}/quotes/request"
tags: ["quotes"]
---

# Request Quote

`POST /api/v1/projects/{project_id}/quotes/request`

Request a quote for a project.

Creates a new quote in SUBMITTED status with a line item for each
part in the project.  Transitions the project to SUBMITTED if it
was previously in DRAFT status.

## Path parameters

- `project_id` string, uuid, required

## Request body

- QuoteRequestCreate — User request for a quote on a project. Submitted by the project owner after configuring parts and specs. The quote is created in ``draft`` status and an admin must review it.
  - `notes` string, nullable — Additional notes or requirements for the quote request
  - `target_delivery_date` string, date, nullable — Customer's desired delivery date for the project

## Response `201`

Successful Response

- QuoteResponse — Quote summary returned in list endpoints. Omits line items and audit trail to keep the payload lightweight. The ``status`` field is serialised as its string value (e.g. ``"draft"``, ``"quoted"``).
  - `id` string, uuid, required
  - `status` string, required
  - `intent` string
  - `total_amount` string, nullable
  - `lead_time_days` integer, nullable
  - `lead_time_display` string, nullable
  - `additional_line_items` AdditionalLineItemOutput[], nullable
    - `label` string, required
    - `quantity` integer, nullable — Optional display quantity for admin-entered misc line items. When set, the PDF shows the quantity alongside the label. The amount remains the line amount, not a unit price.
    - `amount` string, required
  - `additional_line_items_post_tax` AdditionalLineItemOutput[], nullable
    - `label` string, required
    - `quantity` integer, nullable — Optional display quantity for admin-entered misc line items. When set, the PDF shows the quantity alongside the label. The amount remains the line amount, not a unit price.
    - `amount` string, required
  - `valid_until` string, date-time, nullable
  - `notes` string, nullable
  - `is_human_reviewed` boolean, required
  - `require_deposit` boolean
  - `deposit_percentage` string, nullable
  - `customer_name_override` string, nullable
  - `customer_email_override` string, nullable
  - `customer_billing_address_override` string, nullable
  - `customer_shipping_address_override` string, nullable
  - `customer_shipping_name_override` string, nullable
  - `selected_delivery_option_id` string, uuid, nullable
  - `snapshot_version` integer
  - `project_id` string, uuid, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/prototyping/apis/prototyping-io-api.md) · [All operations](https://skmtc.dev/prototyping/apis/prototyping-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/prototyping/prototyping-io-api/revisions/f4a0079fbb57/schema)
