---
title: "bills__update_bill_retentions"
method: POST
path: "/tools/bills__update_bill_retentions"
tags: ["Gastos"]
---

# bills__update_bill_retentions

`POST /tools/bills__update_bill_retentions`

### MCP
`update_bill_retentions` → `bills__update_bill_retentions`.

### HTTP
`PUT /v1/bills/{id}/retentions` — **Reemplazo total** del arreglo `retentions`.

### Errores
| Código | Significado | Acción |
|--------|-------------|--------|
| 11110 | Bill no encontrado | Verificar id |
| 11311 | Tipo documento incompatible con detracciones (PE) | Solo tipo bill admite regla |
| 11435 | Retenciones aplicadas bloquean edición | No reemplazar retenciones en ese estado |

## Request body

- object
  - `id` string, required
  - `retentions` unknown[], required
    - unknown

## Response `200`

Lista de retenciones en formato API

---

[API](https://skmtc.net/alegra/apis/ingresos.md) · [All operations](https://skmtc.net/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/ingresos/revisions/cd52d3f68f1b/schema)
