Descripción general
Administrá por API el catálogo de productos y servicios de tu cuenta, para reusarlos en los ítems de tus comprobantes.
Los productos son el catálogo de tu cuenta: lo que vendés, con su descripción, su precio unitario y su alícuota de IVA. Guardarlos una vez te permite emitir referenciándolos con productoId en cada ítem, en lugar de repetir descripción y precio en cada request.
A pesar del nombre, el catálogo cubre productos y servicios: los distingue el campo tipo.
Es el mismo catálogo que ves en el dashboard y que administran las tools de productos del servidor MCP: una sola fuente de verdad para las tres superficies.
Este recurso no habla con ARCA
Es metadata de tu cuenta, no un servicio del organismo. En consecuencia, y a diferencia del resto de la API REST:
- No consume cuota del plan y no cuenta como consumo en el dashboard.
- No lleva
representadanienvironment. Un producto no pertenece a un CUIT emisor ni a un entorno: es de la cuenta, y el mismo producto sirve para emitir desde cualquier representada en homologación o en producción. - No necesita certificados ni delegaciones.
Operaciones disponibles
| Operación | Endpoint | Scope |
|---|---|---|
| Listar productos | GET /api/productos | Cualquiera |
| Obtener un producto | GET /api/productos/{id} | Cualquiera |
| Crear un producto | POST /api/productos | read_write |
| Actualizar un producto | PATCH /api/productos/{id} | read_write |
| Eliminar un producto | DELETE /api/productos/{id} | read_write |
Las tres operaciones de escritura requieren una API key con scope read_write; con una key de solo lectura responden 403. Ver Scopes de API key.
El objeto producto
{
"id": "c3e5a7b9-1d2f-4068-8a9b-0c1d2e3f4a5b",
"descripcion": "Servicio de consultoría",
"precioUnitario": 10000,
"tipo": "servicio",
"alicuotaIva": 21,
"createdAt": "2026-03-14T18:22:07.412Z",
"updatedAt": "2026-03-14T18:22:07.412Z"
}| Campo | Tipo | Descripción |
|---|---|---|
id | string (uuid) | Identificador del producto en tu cuenta. Es el que va en productoId al emitir. |
descripcion | string | Descripción, tal como aparece en el ítem del comprobante |
precioUnitario | number | Precio unitario neto (sin IVA), con 2 decimales |
tipo | "producto" | "servicio" | Ver tipo |
alicuotaIva | number | null | Alícuota de IVA en porcentaje. Ver alicuotaIva |
createdAt / updatedAt | string (ISO 8601) | Marcas de tiempo, en UTC |
El catálogo es deliberadamente simple: no tiene SKU, código interno, unidad de medida, moneda ni listas de precios. El precioUnitario se entiende siempre en pesos y neto de IVA.
tipo: producto o servicio
tipo admite exactamente dos valores, "producto" o "servicio", y se corresponde con el concepto de ARCA que llevás en el campo concepto al emitir:
tipo | Concepto de ARCA |
|---|---|
"producto" | 1 — Productos |
"servicio" | 2 — Servicios |
Es informativo: no determina por sí solo el concepto del comprobante. El concepto es del comprobante entero, no del ítem, y lo seguís mandando vos al emitir — entre otras cosas porque un mismo comprobante puede mezclar ambos, que es el concepto 3. Recordá que con concepto 2 o 3 ARCA exige además fchServDesde, fchServHasta y fchVtoPago.
alicuotaIva
La alícuota de IVA en porcentaje. ARCA reconoce 0, 2.5, 5, 10.5, 21 y 27.
El campo es opcional al guardar pero obligatorio al emitir. Un producto sin alicuotaIva no se puede usar por referencia sin indicarla en el ítem: el request se rechaza con 400. Nunca defaulteamos un 21% — un comprobante con la alícuota equivocada sale con CAE y ya no se corrige.
Que sea opcional tiene un motivo: las facturas tipo C no discriminan IVA, así que quien sólo emite C puede armar su catálogo sin cargarla. Si emitís A o B, cargala.
Autenticación
Todos los endpoints requieren una API key válida en el header Authorization: Bearer <key>. Ver API keys.
Errores
| Status | Descripción |
|---|---|
400 | El request no pasó la validación |
401 | API key ausente, inválida o revocada |
403 | La API key es de solo lectura (sólo en escrituras) |
404 | El producto no existe, es de otra cuenta o fue dado de baja |
No hay 402 ni 409: estas operaciones no consumen cuota, y el catálogo admite descripciones repetidas.