> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.noyax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List quotes

> Lists quotes page by page.

Quotes are returned newest first, **without their lines**; use [Get quote](/en/v1/quotes/get) to read the lines.

* `quoteType` returns only purchase (`1`) or sales (`2`) quotes.
* `search` looks in the quote number, the document number and the customer name.
* Pagination works as on the other lists: `page` starts from 1, `pageSize` is at most 50.

## Error codes

This endpoint has no endpoint-specific error codes. The [general errors](/en/v1/guides/result-codes) that apply to every endpoint (authentication, permissions, request headers, daily limit) still apply.


## OpenAPI

````yaml api-reference/openapi.json GET /api/v1/quotes
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://dev.noyax.com/services/noyax_api
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Quotes
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Line Groups
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Statement
  - name: Customer Telephones
paths:
  /api/v1/quotes:
    get:
      tags:
        - Quotes
      summary: List quotes
      description: >-
        Returns quotes page by page, newest first, without their lines. Use Get
        quote to read the lines.
      parameters:
        - name: page
          in: query
          description: Page number, starting from 1.
          schema:
            type: integer
            format: int32
            default: 1
        - name: pageSize
          in: query
          description: Records per page (maximum 50).
          schema:
            type: integer
            format: int32
            default: 50
        - name: search
          in: query
          description: Searches in QuoteNumber, DocumentNumber and the customer name.
          schema:
            type: string
        - name: quoteType
          in: query
          description: 'Returns only quotes of this type: 1 purchase, 2 sales.'
          schema:
            type: integer
            format: int32
        - name: X-UserID
          in: header
          description: >-
            ID of the Noyax user the request is made on behalf of. Written to
            the audit fields of created, updated and deleted records.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            ID of the company. The user must be assigned to this company. All
            reads and writes are limited to this company.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            ID of the accounting period. Optional for customer endpoints; if
            sent, it is written to created records.
          schema:
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfPagedResultDtoOfQuoteDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0201'
                Message: X-UserID header is required.
                Errors:
                  - Code: '0201'
                    Message: X-UserID header is required.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    DataResultOfPagedResultDtoOfQuoteDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: true
        ResultCode:
          type: string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Data:
          $ref: '#/components/schemas/PagedResultDtoOfQuoteDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: All errors with their codes. Only present when Success is false.
    PagedResultDtoOfQuoteDto:
      type: object
      properties:
        Page:
          type: integer
          description: Current page number.
          format: int32
          example: 1
        PageSize:
          type: integer
          description: Records per page.
          format: int32
          example: 50
        TotalCount:
          type: integer
          description: Total number of records matching the query.
          format: int32
          example: 128
        Items:
          type: array
          items:
            $ref: '#/components/schemas/QuoteDto'
          description: Records on this page.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Error code. See the result codes page for the full list.
        Message:
          type: string
          description: Error description.
    QuoteDto:
      type: object
      properties:
        Id:
          type: string
          description: Quote ID.
          format: uuid
        Status:
          type: integer
          description: >-
            Quote status: 0 Pending, 1 Accepted, 2 Revised, 3 Rejected. Quotes
            are created as 0 and the API never changes the status.
          format: int32
          example: 0
        CustomerName:
          type:
            - 'null'
            - string
          description: Customer name.
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Currency short code.
          example: TRY
        QuoteType:
          type: integer
          description: >-
            Required. 1: Purchase quote (received), 2: Sales quote (issued).
            Cannot be changed after the quote is created.
          format: int32
          example: 2
        QuoteNumber:
          type:
            - 'null'
            - string
          description: >-
            Required. Quote number, unique within the company for the same
            QuoteType. Send "Next" on create to generate it from the company's
            quote number series for the type. At most 10 characters.
          example: 52825CA9F1
        DocumentNumber:
          type:
            - 'null'
            - string
          description: Document number (free text). At most 20 characters.
          example: 2026-15
        Date:
          type:
            - 'null'
            - string
          description: >-
            Required. Quote date. The date part is stored as the quote date; if
            a time is sent it is stored as the quote time, otherwise the current
            time is used.
          format: date-time
          example: '2026-09-21T10:30:00'
        Description:
          type:
            - 'null'
            - string
          description: Description. At most 1000 characters.
        CustomerId:
          type:
            - 'null'
            - string
          description: Required. Customer ID from GET /api/v1/customers.
          format: uuid
        RepresentativeId:
          type:
            - 'null'
            - string
          description: >-
            ID of a representative of the customer from GET
            /api/v1/customers/{customerId}/representatives.
          format: uuid
        CurrencyId:
          type:
            - 'null'
            - string
          description: Required. Currency ID from GET /api/v1/definitions/currencies.
          format: uuid
        DueDays:
          type: integer
          description: Payment term in days. Cannot be less than 0.
          format: int32
          example: 30
        DeliveryDate:
          type:
            - 'null'
            - string
          description: Delivery date.
          format: date-time
        SharingCodeId:
          type:
            - 'null'
            - string
          description: >-
            Sharing code that limits who can see the quote. Empty means visible
            to everyone; otherwise it must be one of the user's sharing codes.
          format: uuid
        DiscountTotal:
          type: number
          description: >-
            Total discount amount. Sent by the integrator, not calculated by the
            API.
          format: double
          example: 0
        SubTotal:
          type: number
          description: >-
            Subtotal (sum of the line amounts excluding taxes). Sent by the
            integrator, not calculated by the API.
          format: double
          example: 1000
        VatTotal:
          type: number
          description: Total VAT amount. Sent by the integrator, not calculated by the API.
          format: double
          example: 200
        AdditionalTaxTotal:
          type: number
          description: >-
            Total additional tax amount. Sent by the integrator, not calculated
            by the API.
          format: double
          example: 0
        WithholdingTotal:
          type: number
          description: >-
            Total withholding (tevkifat) amount. Sent by the integrator, not
            calculated by the API.
          format: double
          example: 0
        GrandTotal:
          type: number
          description: Grand total. Sent by the integrator, not calculated by the API.
          format: double
          example: 1200
        AverageExchangeRate:
          type: number
          description: >-
            Weighted average exchange rate of the lines. Sent by the integrator,
            not calculated by the API. Use 1 when everything is in the company's
            default currency.
          format: double
          example: 1
        CreateDate:
          type:
            - 'null'
            - string
          description: Creation date.
          format: date-time
        ModifyDate:
          type:
            - 'null'
            - string
          description: Last modification date.
          format: date-time
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````