---
title: "Obtener presupuesto por ID"
method: GET
path: "/api/v1/quotes/{quote_id}"
tags: ["API"]
---

# Obtener presupuesto por ID

`GET /api/v1/quotes/{quote_id}`

## Request

- Base URL: `https://api.lapyme.com.ar`
- URL: `https://api.lapyme.com.ar/api/v1/quotes/{quote_id}`
- Auth: HTTP bearer

Devuelve el presupuesto con sus líneas, importes persistidos, reserva activa y estado de ciclo de vida.

## Path parameters

- `quote_id` string, uuid, required

## Response `200`

Presupuesto obtenido exitosamente

- ApiQuoteDetailResponse
  - `request_id` string, required
  - `data` object, required
    - `object` 'quote', required
    - `id` string, uuid, required
    - `number` integer, required
    - `formatted_number` string, required
    - `customer_id` string, uuid, required
    - `currency` 'ARS' | 'USD', required
    - `status` 'draft' | 'sent' | 'accepted' | 'rejected' | 'expired' | 'converted', required
    - `converted_sale_id` string, uuid, nullable, required
    - `reservation` ApiSharedObjectc82a2ff2d4, required
      - `status` 'active', required
      - `reserved_through_date` string, date, required
    - `subtotal` integer, required
    - `tax_amount` integer, required
    - `discount_amount` integer, required
    - `total` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `salesperson_member_id` string, uuid, nullable, required
    - `price_list_id` string, uuid, nullable, required
    - `prices_include_tax` boolean, nullable, required
    - `pricing_ars_per_usd_rate` string, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `notes` string, nullable, required
    - `items` ApiSharedObject6e2dab2a90[], required
      - `object` 'quote_line', required
      - `id` string, uuid, required
      - `product_id` string, uuid, nullable, required
      - `custom_name` string, nullable
      - `custom_product_type` 'product' | 'service'
      - `tax_rate_id` integer
      - `is_exempt` boolean
      - `warehouse_id` string, uuid, nullable, required
      - `quantity` number, required
      - `unit_price` integer, required
      - `discount` union, required
        - ApiSharedObject0141f82a97
          - `type` 'percentage', required
          - `value` number, required
        - ApiSharedObject06b16aade1
          - `type` 'amount', required
          - `value` integer, required

## Other responses

- `400`: ID inválido
- `401`: API key faltante o inválida
- `403`: Scope quotes:read faltante
- `404`: Presupuesto no encontrado
- `429`: Límite de solicitudes excedido para la organización
- `500`: Error interno del servidor
- `503`: Verificación de credenciales temporalmente ocupada; reintentá sin cambiar la operación ni su Idempotency-Key.

## Changes

- **2026-11-03** `ed0d46e68fbe`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lapyme/apis/la-pyme-api/changes/api/v1/quotes/:quote_id/get.md)

---

[API](https://skmtc.dev/lapyme/apis/la-pyme-api.md) - [All operations](https://skmtc.dev/lapyme/apis/la-pyme-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lapyme/apis/la-pyme-api/revisions/067bbb55f421?raw)
