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

# Eliminar facturas masivamente

> Elimina de forma masiva todas las facturas pendientes de la empresa autenticada.

<Warning>
  Esta acción es **irreversible**. Todas las facturas pendientes de la empresa serán eliminadas junto con sus pagos asociados. Úselo con precaución.
</Warning>

El proceso se ejecuta de forma **asíncrona**: el endpoint retorna inmediatamente con un `202 Accepted` y las facturas se eliminan en segundo plano. Cada factura eliminada también cancela y elimina su pago asociado.

Las facturas con estado `PAID` o `CONCILIATED` **no serán eliminadas**.

### Body

<ParamField body="reason" type="string" default="DELETE_FROM_PROVIDER">
  Razón de la eliminación. Determina el comportamiento de los eventos asociados al pago.

  Valores permitidos:

  * `DELETE_FROM_PROVIDER` — Eliminada desde el proveedor (dispara `PaymentDeletedEvent`).
  * `PAID_FROM_PROVIDER` — Pagada desde el proveedor (elimina el pago silenciosamente, sin disparar eventos).
</ParamField>

<ParamField body="provider_payment_id" type="string" placeholder="EXT-REF-001">
  Referencia del pago externo en el proveedor. Solo aplica cuando `reason` es `PAID_FROM_PROVIDER`.

  Cuando se envía este campo junto con `reason=PAID_FROM_PROVIDER`, OnePay genera automáticamente un **recibo de pago en PDF** para cada factura y lo envía al cliente por WhatsApp, confirmando que su pago fue registrado por la empresa. Esto aplica únicamente a los clientes que tengan un número de teléfono registrado.

  <Note>
    Este campo es opcional. Si no se envía, las facturas se eliminan sin enviar recibos a los clientes.
  </Note>
</ParamField>

### Ejemplos de uso

<Tabs>
  <Tab title="curl">
    ```bash theme={null}
    curl https://api.onepay.la/v1/invoices \
      -X DELETE \
      -H "Authorization: Bearer sk_test_xxx" \
      -H "Content-Type: application/json" \
      -d '{
        "reason": "PAID_FROM_PROVIDER",
        "provider_payment_id": "EXT-REF-001"
      }'
    ```
  </Tab>

  <Tab title="JavaScript">
    ```ts theme={null}
    const response = await fetch('https://api.onepay.la/v1/invoices', {
      method: 'DELETE',
      headers: {
        'Authorization': 'Bearer sk_test_xxx',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        reason: 'PAID_FROM_PROVIDER',
        provider_payment_id: 'EXT-REF-001',
      }),
    });
    // 202 Accepted — eliminación en progreso
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests

    response = requests.delete(
        'https://api.onepay.la/v1/invoices',
        headers={'Authorization': 'Bearer sk_test_xxx'},
        json={
            'reason': 'PAID_FROM_PROVIDER',
            'provider_payment_id': 'EXT-REF-001',
        },
    )
    # 202 Accepted — eliminación en progreso
    print(response.status_code)
    ```
  </Tab>
</Tabs>

### Response

<ResponseExample>
  ```json 202 theme={null}
  null
  ```
</ResponseExample>
