---
title: "Obtener compra por ID"
method: GET
path: "/api/v1/purchases/{purchase_id}"
tags: ["API"]
---

# Obtener compra por ID

`GET /api/v1/purchases/{purchase_id}`

Devuelve el detalle de la compra.

## Path parameters

- `purchase_id` string, uuid, required

## Response `200`

Compra obtenida exitosamente

- ApiPurchaseDetailResponse
  - `request_id` string, required
  - `data` ApiPurchaseDetail, required
    - `object` 'purchase', required
    - `id` string, uuid, required
    - `accounting` ApiSharedObject799d3e3f37
      - `object` 'accounting_evidence', required
      - `status` 'not_enabled' | 'not_applicable' | 'pending' | 'posted' | 'failed', required
      - `journal_entry_ids` string[], required
      - `journal_entries_url` string, nullable, required
      - `warnings` ApiSharedObject76de9df039[], required
        - `code` string, required
        - `message` string, required
    - `voucher_type` string, required
    - `import_document_role` 'commercial_invoice' | 'customs_dispatch' | 'customs_dispatch_reversal', required
    - `import_source_purchase_id` string, uuid, nullable, required — ID de la factura comercial asociada al despacho aduanero.
    - `import_nationalization_status` 'pending_nationalization' | 'partially_nationalized' | 'fully_nationalized', required
    - `customs_dispatch_number` string, nullable, required — Numero de despacho aduanero informado por el proveedor. Hasta 32 caracteres.
    - `supplier_invoice_number` string, nullable, required — Numero de comprobante del proveedor. Hasta 120 caracteres.
    - `invoice_date` string, nullable, required — Fecha del comprobante en formato YYYY-MM-DD.
    - `account_date` string, nullable, required — Fecha contable de la compra en formato YYYY-MM-DD.
    - `due_date` string, nullable, required — Fecha de vencimiento en formato YYYY-MM-DD.
    - `payment_term_id` 'days_7' | 'days_15' | 'days_30' | 'days_45' | 'days_60' | 'days_90' | 'days_30_60' | 'days_30_60_90', required
    - `payment_term_days` integer, nullable, required — Cantidad de días hasta el vencimiento. Usá 0 para Contado. Se prefiere sobre paymentTermId.
    - `vat_perception_amount` integer, nullable, required
    - `national_tax_amount` integer, nullable, required
    - `gross_income_tax_amount` integer, nullable, required
    - `gross_income_tax_breakdown` ApiSharedObject95929ea589[], required
      - `province_id` integer, required
      - `amount` integer, required
    - `municipal_tax_amount` integer, nullable, required
    - `internal_tax_amount` integer, nullable, required
    - `other_tax_amount` integer, nullable, required
    - `subtotal` integer, nullable, required
    - `tax_amount` integer, nullable, required
    - `exempt_amount` integer, nullable, required
    - `total` integer, nullable, required
    - `balance` integer, nullable, required
    - `discount` integer, nullable, required
    - `vat_breakdown` ApiSharedObjectfb7405a472[], required
      - `tax_rate_id` integer, required
      - `base_amount` integer, required
      - `tax_amount` integer, required
    - `notes` string, nullable, required
    - `vat_category` 'goods' | 'fixed_assets' | 'leases' | 'services', required
    - `currency` string, required
    - `exchange_rate` string, required
    - `pdf_path` string, nullable, required — Deprecated internal storage key retained for V1 compatibility. Use document.url instead; it is stable, authenticated, and storage-provider-neutral.
    - `document` ApiSharedObject890679c3fd, required — Document availability. The URL requires bearer authentication and never contains a storage path or signed query string.
      - `status` 'ready' | 'pending' | 'failed' | 'missing', required
      - `url` string, nullable, required — Stable authenticated La Pyme API path. Present only when status is ready; follow redirects when downloading.
    - `created_at` string, date-time, required
    - `supplier` object, nullable, required
      - `id` string, uuid, nullable, required
      - `name` string, nullable, required
      - `email` string, nullable, required
      - `phone` string, nullable, required
      - `tax_id` string, nullable, required
      - `tax_id_type` string, nullable, required
      - `tax_category` string, nullable, required
      - `address` string, nullable, required
      - `city` string, nullable, required
      - `province_id` string, nullable, required
      - `postal_code` string, nullable, required
      - `payment_term_id` string, nullable, required
      - `payment_term_days` integer, nullable, required — Cantidad de días hasta el vencimiento. Usá 0 para Contado. Se prefiere sobre paymentTermId.
    - `warehouse` ApiSharedObject8aeeceaf0f, required
      - `id` string, uuid, required
      - `name` string, required
    - `items` object[], required
      - `id` string, uuid, required
      - `name` string, nullable, required
      - `quantity` number, required
      - `unit_cost` integer, nullable, required
      - `subtotal` integer, nullable, required
      - `tax_rate_id` integer, nullable, required
      - `is_exempt` boolean, nullable, required
      - `total` integer, nullable, required
      - `discount_percentage` number, nullable, required
      - `purchase_order_item_id` string, uuid, nullable, required
      - `vat_category` 'goods' | 'fixed_assets' | 'leases' | 'services', required
      - `product` object, nullable, required
        - `id` string, uuid, required
        - `sku` string, nullable, required
        - `name` string, nullable, required
        - `product_type` 'product' | 'service' | 'combo' | 'kit', required
      - `purchase_order` object, nullable, required
        - `id` string, uuid, required
        - `formatted_order_number` string, nullable, required

## Other responses

- `401` — API key faltante o inválida
- `403` — Scopes insuficientes
- `404` — Compra no encontrada
- `429` — Límite de solicitudes excedido para la organización
- `500` — Error interno del servidor

---

[API](https://skmtc.net/lapyme/apis/la-pyme-api.md) · [All operations](https://skmtc.net/lapyme/apis/la-pyme-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lapyme/la-pyme-api/versions/414f57f28498/schema)
