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

# Get quote by ID

> Gets a single quote by ID with full details including customer and quote items.



## OpenAPI

````yaml GET /api/public/v1/quotes/{id}
openapi: 3.1.0
info:
  title: Boxpilote API
  description: >-
    API for business opportunities, quotes, surfaces, rentals, insurances,
    services, products, VAT rates, and associated clients.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.boxpilote.fr
security:
  - bearerAuth: []
paths:
  /api/public/v1/quotes/{id}:
    get:
      description: >-
        Gets a single quote by ID with full details including customer and quote
        items.
      parameters:
        - name: id
          in: path
          required: true
          description: Quote ID
          schema:
            type: string
      responses:
        '200':
          description: Quote details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteDetail'
        '400':
          description: Missing quote ID
          content:
            application/json:
              example:
                statusCode: 400
                message: ID du devis requis
        '401':
          description: Unauthorized / Invalid Token
          content:
            application/json:
              example:
                success: false
                message: 'Unauthorized: Invalid or missing token.'
        '404':
          description: Quote not found
          content:
            application/json:
              example:
                statusCode: 404
                message: Devis non trouvé
        '500':
          description: Error fetching quote
          content:
            application/json:
              example:
                success: false
                message: Erreur récupération du devis
components:
  schemas:
    QuoteDetail:
      type: object
      description: Full quote details for single quote response
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        quote_number:
          type: string
          nullable: true
        customer_id:
          type: string
          nullable: true
        total_amount:
          type: number
          nullable: true
        sub_total_amount:
          type: number
          nullable: true
        expiration_date:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        sent_email:
          type: boolean
          nullable: true
        payment_method:
          type: string
          nullable: true
        payment_terms:
          type: string
          nullable: true
        deposit:
          type: number
          nullable: true
        type:
          type: string
          nullable: true
        contract_id:
          type: string
          nullable: true
        is_archived:
          type: boolean
          nullable: true
        billing_period:
          type: number
          nullable: true
        refusal_reason:
          type: string
          nullable: true
        customer:
          $ref: '#/components/schemas/Customer'
        quote_items:
          type: array
          items:
            $ref: '#/components/schemas/QuoteItem'
    Customer:
      type: object
      properties:
        name:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
    QuoteItem:
      type: object
      properties:
        id:
          type: string
        quote_id:
          type: string
          nullable: true
        item_type:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        quantity:
          type: number
          nullable: true
        amount_ht:
          type: number
          nullable: true
        total_ht:
          type: number
          nullable: true
        unit:
          type: string
          nullable: true
        unit_id:
          type: string
          nullable: true
        product_id:
          type: string
          nullable: true
        size:
          type: number
          nullable: true
        discount_duration:
          type: number
          nullable: true
        zone_id:
          type: string
          nullable: true
        is_option:
          type: boolean
          nullable: true
        order:
          type: number
          nullable: true
        surface_id:
          type: string
          nullable: true
        one_time:
          type: boolean
          nullable: true
        type:
          type: string
          nullable: true
        discountType:
          type: string
          nullable: true
        discountValue:
          type: number
          nullable: true
        discountAmount:
          type: number
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````