---
title: "List Quote records"
method: GET
path: "/public/v2/quotes/"
tags: ["Quotes"]
---

# List Quote records

`GET /public/v2/quotes/`

## Request

- Base URL: `https://api.dualentry.com`
- URL: `https://api.dualentry.com/public/v2/quotes/`
- Auth: none declared

Retrieve a paginated list of Quote records with filtering and ordering options.

## Query parameters

- `search` string, nullable
- `code` string[], nullable
- `id` integer[], nullable
- `number` integer[], nullable
- `company_id` integer[], nullable
- `customer_id` integer[], nullable
- `record_status` RecordStatus[], nullable
- `valid_until_from` string, date, nullable
- `valid_until_to` string, date, nullable
- `approval_status` string[], nullable
- `approval_status_scope` RecordStatus[], nullable
- `updated_after` string, date-time, nullable
- `updated_before` string, date-time, nullable
- `ordering` string, nullable
- `limit` integer: Number of records to return per page (capped at 100)
- `offset` integer: Number of records to skip before starting to return results

## Response `200`

OK

- PagedPublicQuoteListSchemaOut
  - `items` PublicQuoteListSchemaOut[], required
    - `completed_approvals_count` integer
    - `total_approvals_count` integer
    - `workflow_status` string, nullable
    - `pending_approvers_count` integer
    - `send_status` 'draft' | 'awaiting_approval' | 'approved' | 'rejected'
    - `can_send` boolean
    - `id` integer, required
    - `number` integer, required
    - `code` string, nullable
    - `record_status` 'draft' | 'posted' | 'archived', required
    - `valid_until` string, date, required
    - `company_id` integer, required
    - `company_name` string, required
    - `customer_id` integer, nullable, required
    - `customer_name` string, nullable, required
    - `name` string, required
    - `email` string, required
    - `currency_iso_4217_code` string, required
    - `term_id` integer, nullable, required
    - `memo` string, required
    - `contract_start_date` string, date, required
    - `contract_end_type` 'after' | 'ongoing' | 'date', required
    - `contract_end_date` string, date, nullable, required
    - `sent_at` string, date-time, nullable, required
    - `amount` string, required: Quote total for one billing period of each line, calculated like an invoice total
    - `created_at` string, date-time, required: Date and time the record was created
    - `updated_at` string, date-time, required: Date and time the record was last updated
  - `count` integer, required

## Other responses

- `400`: Bad Request

## Changes

- **2026-10-01** `8f0a589ca348`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dualentry/apis/dualentry-public-api/changes/public/v2/quotes/get.md)

---

[API](https://skmtc.dev/dualentry/apis/dualentry-public-api.md) · [All operations](https://skmtc.dev/dualentry/apis/dualentry-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dualentry/apis/dualentry-public-api/revisions/7588ae19aaff?raw)
