{"openapi":"3.1.0","info":{"title":"API de Afippi","version":"1.0.0","description":"API sobre los datos fiscales que Afippi sincroniza desde ARCA, con alta y edición de clientes para las cuentas que tienen habilitada la escritura. Todas las respuestas son JSON y los mensajes de error están en español."},"servers":[{"url":"https://api.afippi.com","description":"Producción"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token de acceso generado desde el panel de Afippi. Se envía en el header `Authorization: Bearer <token>`."}},"schemas":{"PaginaDeCuits":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CuitDeListado"}},"pagination":{"$ref":"#/components/schemas/Paginacion"},"filters":{"$ref":"#/components/schemas/FiltroDeCuits"}},"required":["data","pagination","filters"]},"CuitDeListado":{"allOf":[{"$ref":"#/components/schemas/Cuit"},{"type":"object","properties":{"etiquetas":{"type":"array","items":{"type":"string"}},"monotributista":{"type":["boolean","null"]},"autonomo":{"type":["boolean","null"]},"categoria":{"type":["string","null"]},"sistemaRegistralSyncedAt":{"type":["string","null"],"format":"date-time"}},"required":["etiquetas","monotributista","autonomo","categoria","sistemaRegistralSyncedAt"]}]},"Cuit":{"type":"object","properties":{"id":{"type":"string"},"cuit":{"type":"string","example":"20111111112"},"displayCuit":{"type":"string","example":"20-11111111-2"},"tipo":{"type":"string"},"nombre":{"type":"string"},"email":{"type":["string","null"]},"telefono":{"type":["string","null"]}},"required":["id","cuit","displayCuit","tipo","nombre","email","telefono"]},"Paginacion":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer","description":"Cantidad total de registros que matchean la consulta."}},"required":["limit","offset","total"]},"FiltroDeCuits":{"type":"object","properties":{"etiquetas":{"type":["array","null"],"items":{"type":"string"}},"monotributista":{"type":["boolean","null"]},"autonomo":{"type":["boolean","null"]},"categoria":{"type":["string","null"]}},"required":["etiquetas","monotributista","autonomo","categoria"],"description":"Filtros efectivamente aplicados. Los que no se enviaron van en `null`."},"RespuestaDeCuit":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Cuit"}},"required":["data"]},"NuevoCuit":{"oneOf":[{"$ref":"#/components/schemas/NuevaPersonaFisica"},{"$ref":"#/components/schemas/NuevaPersonaJuridica"}],"discriminator":{"propertyName":"tipo","mapping":{"persona-fisica":"#/components/schemas/NuevaPersonaFisica","persona-juridica":"#/components/schemas/NuevaPersonaJuridica"}}},"NuevaPersonaFisica":{"type":"object","properties":{"tipo":{"type":"string","enum":["persona-fisica"]},"cuit":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"nombre":{"type":"string","minLength":1},"apellido":{"type":"string","minLength":1},"clave_arca":{"type":"string","minLength":1},"email":{"type":["string","null"],"format":"email"},"telefono":{"type":["string","null"]}},"required":["tipo","cuit","nombre","apellido","clave_arca"],"additionalProperties":false},"NuevaPersonaJuridica":{"type":"object","properties":{"tipo":{"type":"string","enum":["persona-juridica"]},"cuit":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"razon_social":{"type":"string","minLength":1},"representante":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"email":{"type":["string","null"],"format":"email"},"telefono":{"type":["string","null"]}},"required":["tipo","cuit","razon_social","representante"],"additionalProperties":false},"EdicionDeCuit":{"type":"object","properties":{"nombre":{"type":"string","minLength":1},"apellido":{"type":"string","minLength":1},"razon_social":{"type":"string","minLength":1},"representante":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"email":{"type":["string","null"],"format":"email"},"telefono":{"type":["string","null"]},"clave_arca":{"type":"string","minLength":1}},"additionalProperties":false},"PaginaDeComprobantesEmitidos":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComprobanteEmitido"}},"pagination":{"$ref":"#/components/schemas/Paginacion"},"filters":{"$ref":"#/components/schemas/FiltroDeFechas"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","pagination","filters","syncedAt"]},"ComprobanteEmitido":{"type":"object","properties":{"fecha":{"type":"string","format":"date-time"},"puntoVenta":{"type":"string"},"numeroDesde":{"type":"string"},"numeroHasta":{"type":"string"},"tipo":{"type":"string"},"impNetoGravado":{"type":["number","null"]},"impNetoNoGravado":{"type":["number","null"]},"impOpExentas":{"type":["number","null"]},"otrosTributos":{"type":["number","null"]},"iva":{"type":["number","null"]},"tipoCambio":{"type":"number"},"importeOriginal":{"type":"number"},"monedaOriginal":{"type":"string","example":"PES"},"importe":{"type":"number"},"receptor":{"type":"object","properties":{"tipoDocumento":{"type":["string","null"]},"numeroDocumento":{"type":["string","null"]},"nombre":{"type":["string","null"]}},"required":["tipoDocumento","numeroDocumento","nombre"]}},"required":["fecha","puntoVenta","numeroDesde","numeroHasta","tipo","impNetoGravado","impNetoNoGravado","impOpExentas","otrosTributos","iva","tipoCambio","importeOriginal","monedaOriginal","importe","receptor"]},"FiltroDeFechas":{"type":"object","properties":{"fromDate":{"type":"string","format":"date"},"toDate":{"type":"string","format":"date"}},"required":["fromDate","toDate"],"description":"Período efectivamente consultado. Sin `from_date` y `to_date` es el mes en curso en UTC."},"PaginaDeComprobantesRecibidos":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComprobanteRecibido"}},"pagination":{"$ref":"#/components/schemas/Paginacion"},"filters":{"$ref":"#/components/schemas/FiltroDeFechas"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","pagination","filters","syncedAt"]},"ComprobanteRecibido":{"type":"object","properties":{"fecha":{"type":"string","format":"date-time"},"puntoVenta":{"type":"string"},"numeroDesde":{"type":"string"},"numeroHasta":{"type":"string"},"tipo":{"type":"string"},"impNetoGravado":{"type":["number","null"]},"impNetoNoGravado":{"type":["number","null"]},"impOpExentas":{"type":["number","null"]},"otrosTributos":{"type":["number","null"]},"iva":{"type":["number","null"]},"tipoCambio":{"type":"number"},"importeOriginal":{"type":"number"},"monedaOriginal":{"type":"string","example":"PES"},"importe":{"type":"number"},"emisor":{"type":"object","properties":{"nombre":{"type":"string"},"cuit":{"type":"string"}},"required":["nombre","cuit"]}},"required":["fecha","puntoVenta","numeroDesde","numeroHasta","tipo","impNetoGravado","impNetoNoGravado","impOpExentas","otrosTributos","iva","tipoCambio","importeOriginal","monedaOriginal","importe","emisor"]},"RespuestaSct":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DatosSct"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","syncedAt"]},"DatosSct":{"type":["object","null"],"properties":{"deuda":{"type":"array","items":{"type":"object","properties":{"establecimiento":{"type":"string"},"impuesto":{"type":"string"},"concepto":{"type":"string"},"subconcepto":{"type":"string"},"periodo":{"type":"string"},"antCuota":{"type":"string"},"vencimiento":{"type":["string","null"],"format":"date-time"},"saldo":{"type":"number"},"intResarcitorios":{"type":"number"},"intPunitorios":{"type":"number"}},"required":["establecimiento","impuesto","concepto","subconcepto","periodo","antCuota","vencimiento","saldo","intResarcitorios","intPunitorios"]}},"vencimientos":{"type":"array","items":{"type":"object","properties":{"impuesto":{"type":"string"},"concepto":{"type":"string"},"subconcepto":{"type":"string"},"periodo":{"type":"string"},"antCuota":{"type":"string"},"vencimiento":{"type":"string","format":"date-time"},"detalle":{"type":"string"}},"required":["impuesto","concepto","subconcepto","periodo","antCuota","vencimiento","detalle"]}},"ddjj":{"type":"array","items":{"type":"object","properties":{"establecimiento":{"type":"string"},"impuesto":{"type":"string"},"concepto":{"type":"string"},"subconcepto":{"type":"string"},"periodo":{"type":"string"},"antCuota":{"type":"string"},"vencimiento":{"type":"string","format":"date-time"}},"required":["establecimiento","impuesto","concepto","subconcepto","periodo","antCuota","vencimiento"]}}},"required":["deuda","vencimientos","ddjj"],"description":"Es `null` cuando el Sistema de Cuentas Tributarias nunca se sincronizó para este CUIT."},"RespuestaCcma":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DatosCcma"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","syncedAt"]},"DatosCcma":{"type":["object","null"],"properties":{"saldoDeudor":{"type":["number","null"]},"saldoAcreedor":{"type":["number","null"]}},"required":["saldoDeudor","saldoAcreedor"],"description":"Es `null` cuando la CCMA nunca se sincronizó para este CUIT."},"PaginaMovimientosCcma":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MovimientoCcma"}},"pagination":{"$ref":"#/components/schemas/Paginacion"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","pagination","syncedAt"],"description":"La paginación cuenta períodos, del más reciente al más antiguo: `data` trae todos los movimientos de los períodos de la página y `total` es la cantidad de períodos."},"MovimientoCcma":{"type":"object","properties":{"orden":{"type":"integer","description":"Posición del movimiento en la cuenta corriente."},"periodo":{"type":"string","example":"07/2026"},"impuesto":{"type":"string"},"concepto":{"type":"string"},"subconcepto":{"type":"string"},"descripcion":{"type":"string"},"fechaMovimiento":{"type":"string","format":"date-time"},"debe":{"type":["number","null"]},"haber":{"type":["number","null"]},"saldo":{"type":"number","description":"Saldo acumulado después del movimiento. Un valor negativo es saldo deudor."}},"required":["orden","periodo","impuesto","concepto","subconcepto","descripcion","fechaMovimiento","debe","haber","saldo"],"description":"Movimiento de CCMA. Cada uno trae `debe` o `haber`, nunca los dos."},"PaginaDeNotificacionesDfe":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotificacionDfe"}},"pagination":{"$ref":"#/components/schemas/Paginacion"},"syncedAt":{"type":["string","null"],"format":"date-time","description":"Fecha de la última sincronización exitosa con ARCA. Es `null` cuando el sistema nunca se sincronizó.","example":"2026-07-15T03:12:44.000Z"}},"required":["data","pagination","syncedAt"]},"NotificacionDfe":{"type":"object","properties":{"arcaId":{"type":["string","null"]},"tipo":{"type":["string","null"]},"asunto":{"type":"string"},"organismo":{"type":["string","null"]},"fechaRecepcion":{"type":"string","format":"date-time"},"fechaNotificacion":{"type":["string","null"],"format":"date-time"},"leidaAt":{"type":["string","null"],"format":"date-time"}},"required":["arcaId","tipo","asunto","organismo","fechaRecepcion","fechaNotificacion","leidaAt"]},"PaginaDeEtiquetas":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Etiqueta"}},"pagination":{"$ref":"#/components/schemas/Paginacion"}},"required":["data","pagination"]},"Etiqueta":{"type":"object","properties":{"nombre":{"type":"string"},"color":{"type":"string"}},"required":["nombre","color"]}},"parameters":{}},"paths":{"/healthcheck":{"get":{"tags":["Estado"],"summary":"Estado del servicio","description":"Responde `OK` cuando la API está en servicio. No requiere autenticación ni consume cuota.","responses":{"200":{"description":"La API está en servicio.","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}}}}},"/v1/cuits":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Listar CUITs","description":"Lista los CUITs administrados por tu cuenta, ordenados por nombre. Los filtros son opcionales y se combinan con AND; varias etiquetas se combinan con OR.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"array","items":{"type":"string"}},"required":false,"name":"etiquetas","in":"query","style":"form","explode":true},{"schema":{"type":"boolean"},"required":false,"name":"monotributista","in":"query"},{"schema":{"type":"boolean"},"required":false,"name":"autonomo","in":"query"},{"schema":{"type":"string","enum":["A","B","C","D","E","F","G","H","I","J","K"]},"required":false,"name":"categoria","in":"query"}],"responses":{"200":{"description":"Página de CUITs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaDeCuits"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}},"post":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Crear CUIT","description":"Da de alta un CUIT en tu cuenta y dispara su primera sincronización con ARCA. **Enterprise.** Requiere que la escritura por API esté habilitada en tu cuenta.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NuevoCuit"}}}},"responses":{"201":{"description":"CUIT creado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespuestaDeCuit"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La cuenta no tiene habilitada la escritura por API, o su suscripción no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu cuenta no tiene habilitada la escritura por API. Escribinos para activarla."}},"required":["error"]}}}},"409":{"description":"Ya tenés ese CUIT cargado en tu cuenta.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"El CUIT ya está registrado"}},"required":["error"]}}}},"415":{"description":"El cuerpo no se envió como `application/json`.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"El cuerpo del pedido debe enviarse con 'Content-Type: application/json'."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}":{"patch":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Editar CUIT","description":"Actualiza un CUIT siguiendo RFC 7396: un campo ausente queda como está, un `null` explícito lo borra. **Enterprise.** Requiere que la escritura por API esté habilitada en tu cuenta.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EdicionDeCuit"}}}},"responses":{"200":{"description":"CUIT actualizado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespuestaDeCuit"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La cuenta no tiene habilitada la escritura por API, o su suscripción no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu cuenta no tiene habilitada la escritura por API. Escribinos para activarla."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"415":{"description":"El cuerpo no se envió como `application/json`.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"El cuerpo del pedido debe enviarse con 'Content-Type: application/json'."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}},"delete":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Eliminar CUIT","description":"Borra un CUIT de tu cuenta junto con todo lo que Afippi sincronizó de él, y cancela sus sincronizaciones pendientes. No se puede deshacer. **Enterprise.** Requiere que la escritura por API esté habilitada en tu cuenta.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"}],"responses":{"204":{"description":"CUIT eliminado."},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La cuenta no tiene habilitada la escritura por API, o su suscripción no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu cuenta no tiene habilitada la escritura por API. Escribinos para activarla."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"409":{"description":"El cliente representa a una o más sociedades cargadas en tu cuenta.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"El cliente tiene sociedades asociadas, debe eliminar las sociedades primero o cambiar el representante"}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/mis-comprobantes/emitidos":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Listar comprobantes emitidos","description":"Lista los comprobantes emitidos por el CUIT en el período consultado. Sin `from_date` y `to_date` usa el mes en curso.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","format":"date","example":"2026-07-01"},"required":false,"name":"from_date","in":"query"},{"schema":{"type":"string","format":"date","example":"2026-07-31"},"required":false,"name":"to_date","in":"query"}],"responses":{"200":{"description":"Página de comprobantes emitidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaDeComprobantesEmitidos"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/mis-comprobantes/recibidos":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Listar comprobantes recibidos","description":"Lista los comprobantes recibidos por el CUIT en el período consultado. Sin `from_date` y `to_date` usa el mes en curso.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","format":"date","example":"2026-07-01"},"required":false,"name":"from_date","in":"query"},{"schema":{"type":"string","format":"date","example":"2026-07-31"},"required":false,"name":"to_date","in":"query"}],"responses":{"200":{"description":"Página de comprobantes recibidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaDeComprobantesRecibidos"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/sct":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Consultar Sistema de Cuentas Tributarias","description":"Devuelve la deuda, los vencimientos y las declaraciones juradas que ARCA informa para el CUIT.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"}],"responses":{"200":{"description":"Estado del Sistema de Cuentas Tributarias.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespuestaSct"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/ccma":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Consultar CCMA","description":"Devuelve los saldos deudor y acreedor de la Cuenta Corriente de Monotributistas y Autónomos.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"}],"responses":{"200":{"description":"Saldos de CCMA.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespuestaCcma"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/ccma/movimientos":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Listar movimientos de CCMA","description":"Lista los movimientos de la Cuenta Corriente de Monotributistas y Autónomos. La paginación es por período, del más reciente al más antiguo: `total` cuenta períodos y `data` trae todos los movimientos de los períodos de la página. `saldo` es el saldo acumulado después del movimiento; un valor negativo es saldo deudor.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Página de movimientos de CCMA.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaMovimientosCcma"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/cuits/{cuit}/dfe":{"get":{"tags":["CUITs"],"security":[{"bearerAuth":[]}],"summary":"Listar notificaciones del DFE","description":"Lista las notificaciones del Domicilio Fiscal Electrónico del CUIT, de la más reciente a la más antigua.","parameters":[{"schema":{"type":"string","pattern":"^\\d{2}-?\\d{8}-?\\d$","example":"20111111112"},"required":true,"name":"cuit","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Página de notificaciones del DFE.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaDeNotificacionesDfe"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"404":{"description":"El CUIT no existe o no pertenece a tu cuenta. Ambos casos responden igual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No se encontró el CUIT solicitado."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}},"/v1/tags":{"get":{"tags":["Etiquetas"],"security":[{"bearerAuth":[]}],"summary":"Listar etiquetas","description":"Lista las etiquetas de tu cuenta, ordenadas por nombre. `pagination.total` es el total de etiquetas, aunque la página esté limitada a 100.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"default":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Página de etiquetas.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginaDeEtiquetas"}}}},"400":{"description":"Parámetros de consulta inválidos. El mensaje nombra el campo que falla.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"'limit' debe ser un entero entre 1 y 100."}},"required":["error"]}}}},"401":{"description":"Token de acceso ausente o inválido.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token de acceso ausente o inválido."}},"required":["error"]}}}},"403":{"description":"La suscripción de la cuenta no está activa.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Tu suscripción no está activa. Suscribite en https://app.afippi.com/dashboard/subscription para volver a acceder a tus datos."}},"required":["error"]}}}},"429":{"description":"Se superó el límite por minuto o la cuota mensual.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Se superó el límite de solicitudes. Intentá nuevamente más tarde."}},"required":["error"]}}}},"500":{"description":"Error interno del servidor.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error interno del servidor."}},"required":["error"]}}}}}}}},"webhooks":{}}