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

# Agregar líneas a orden de compra

> Agrega líneas a una orden de compra en estado DRAFT. Devuelve las líneas creadas con HTTP 201.

<ParamField header="x-api-key" type="string" required>
  API key de BOH con scope `inventory:write`.
</ParamField>

<ParamField path="vendorId" type="string" required>UUID del vendor.</ParamField>
<ParamField path="orderId" type="string" required>UUID de la orden de compra.</ParamField>

<ParamField body="lines" type="object[]" required>
  Líneas a agregar (mínimo 1). Mismos campos que en la creación de la orden: `item_id` / `external_item_id` / `supplier_sku`, `qty`, `qty_base`, `base_unit_id`, `item_unit_id`, `unit_code`, `unit_label`, `unit_cost`, `tax_amount`, `delivery_amount`, `total_amount`, `markup_amount`, `notes`, `metadata`. `qty_base` es opcional cuando la línea referencia `unit_code` o `item_unit_id` — el servidor lo deriva desde el `factor_to_base` de la unidad.
</ParamField>

<ParamField body="enforce_supplier_catalog" type="boolean">
  Con `true`, cada artículo de línea debe existir en el catálogo del proveedor.
</ParamField>

<RequestExample>
  ```json theme={null}
  {
    "lines": [
      {
        "external_item_id": "cebolla",
        "qty": 10,
        "unit_code": "kg",
        "unit_cost": 15.00
      }
    ]
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "purchase_order": {
      "id": "po_01...",
      "status": "DRAFT",
      "lines": []
    }
  }
  ```
</ResponseExample>
