---
title: "Lists report-ready quote rows from the quote reporting view, including totals, cost, status, and
lifecycle dates, so callers do not need to hand-assemble quote-level summary data."
method: POST
path: "/api/reporting/quote/list"
tags: ["Reporting"]
---

# Lists report-ready quote rows from the quote reporting view, including totals, cost, status, and
lifecycle dates, so callers do not need to hand-assemble quote-level summary data.

`POST /api/reporting/quote/list`

## Query parameters

- `Sort.Field` string
- `Sort.Dir` 'ascending' | 'descending' — Specify sorting direction.
- `Skip` integer
- `Take` integer

## Request body

- DtoReportingQuoteReportFilter — Constrained filter for the quote reporting list endpoint. Every field maps to a fixed, server-controlled column; values are always bound as Dapper parameters and never concatenated into SQL.
  - `quotedDateFrom` string, date-time, nullable — Inclusive lower bound applied to the quote's Quoted Date. Null means no lower bound.
  - `quotedDateTo` string, date-time, nullable — Inclusive upper bound applied to the quote's Quoted Date (the whole `to` day is included). Null means no upper bound.
  - `status` string, nullable — Optional exact-match filter on the quote lifecycle status. Null means no status filter.
  - `customerName` string, nullable — Optional exact-match filter on the customer name. Null means no customer filter.

## Response `200`

A page of quote report rows with the total matching count.

- DtoPagedResultDtoDtoReportingQuoteReportRow — Paged result
  - `data` DtoReportingQuoteReportRow[], required — The data
    - `id` string, nullable — Internal stable identifier for the quote.
    - `number` integer, nullable — Numeric quote number.
    - `createdUtc` string, date-time, nullable — UTC timestamp the quote was created.
    - `customerName` string, nullable — Customer name on the quote.
    - `priority` string, nullable — Quote priority value.
    - `salesPersonName` string, nullable — Name of the assigned salesperson.
    - `expirationDate` string, date-time, nullable — Quote expiration date. (Source column name `ExipirationDate` is a typo preserved in the view definition.)
    - `quotedDate` string, date-time, nullable — Date the quote was sent to the customer.
    - `closedDate` string, date-time, nullable — Date the quote was closed (won, lost, or expired).
    - `status` string, nullable — Quote lifecycle status.
    - `publicNote` string, nullable — Public-facing note attached to the quote.
    - `discount` number, double, nullable — Total discount amount applied to the quote.
    - `totalInPrimaryCurrency` number, double, nullable — Quote total converted to the tenant's primary currency.
    - `totalWithTax` number, double, nullable — Quote total including tax.
    - `cost` number, double, nullable — Estimated total cost across all quote lines.
  - `page` integer, required — The 1-indexed page
  - `pageSize` integer, required — The page size
  - `totalCount` integer, required — The total count of records
  - `totalPages` integer, required — The total pages
  - `hasPreviousPage` boolean, required — True if there is a previous page
  - `hasNextPage` boolean, required — True if there is a next page

## Other responses

- `403` — The viewer lacks the View Quote permission.

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
