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

# bills__upload_bill_attachment

`POST /tools/bills__upload_bill_attachment`

### MCP
`upload_bill_attachment` → `bills__upload_bill_attachment`.

### HTTP
`POST /v1/bills/{id}/attachment` — **`multipart/form-data`** con **un solo** campo de archivo llamado **`file`**. El id del bill va **solo**
en la URL (`{id}`), no como campo extra del formulario.

### Argumentos (MCP)
- **`id`**: mismo valor que `{id}` del path (no se duplica como campo multipart).
- **`file`**: contenido del único campo de formulario **`file`** (en JSON-RPC suele enviarse como base64).

### Errores
| Código | Significado | Acción |
|--------|-------------|--------|
| 11110 | Bill no encontrado | Verificar id |
| 904 | Adjunto / multipart inválido | Campo `file` y `multipart/form-data` correctos |

## Request body

- object
  - `id` string, required
  - `file` string, binary, required — Único campo de archivo de la API; nombre del campo **`file`**.

## Response `200`

Adjunto registrado

---

[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/versions/cd52d3f68f1b/schema)
