{"info":{"_postman_id":"c94b80db-98a6-4a5c-ab3a-4f46de26b72d","name":"Monibyte API","description":"<html><head></head><body><h1 id=\"introduccion\">Introducción</h1>\n<p>Bienvenido a las APIs públicas de Monibyte. Este conjunto de APIs permite que\nlas aplicaciones y sistemas de un cliente —sistemas contables, ERPs o\nherramientas internas— consuman de forma segura la información que Monibyte\nadministra, para automatizar procesos que hoy se realizan de forma manual.</p>\n<p>La primera API disponible expone la <strong>exportación de transacciones\nconfirmadas</strong>: permite descargar, con múltiples filtros, un archivo (CSV/XLSX)\nlisto para conciliar o importar en el sistema contable del cliente.</p>\n<p>Todas las APIs se consumen sobre HTTPS, se autentican con un <strong>API Key</strong> y están\npensadas para integrarse desde cualquier lenguaje o plataforma.</p>\n<h2 id=\"autenticación\">Autenticación</h2>\n<p>Todas las peticiones requieren el <strong>API Key</strong> en el header <code>x-api-key</code>.</p>\n<h2 id=\"ambiente-de-pruebas-mock-server\">Ambiente de pruebas (Mock Server)</h2>\n<p>La <strong>URL base</strong> de esta documentación es la de <strong>producción</strong>\n(<code>https://stag-api.impesa.net</code>). Durante el desarrollo de la integración no se debe\nconsumir producción: se recomienda usar el <strong>Mock Server de Postman</strong> asociado a\nesta colección para simular las respuestas, sin afectar datos reales ni requerir\nlista blanca de IPs. Una vez que la conexión esté lista y probada, cambiar la\nURL base a la de producción y consumir el servicio real.</p>\n<h2 id=\"prerrequisitos\">Prerrequisitos</h2>\n<ol>\n<li><strong>Generar un API Key.</strong> Se genera desde la consola de Monibyte, en\n<em>Configuración → Integraciones → Configuración de API</em>.<blockquote>\n<p>⚠️ Pendiente de confirmar los pasos exactos (pantalla / rol requerido).</p>\n</blockquote>\n</li>\n<li><strong>Configurar la lista blanca de IPs.</strong> Solo las IPs autorizadas pueden\nconsumir el API (el control se realiza en el API Gateway).<blockquote>\n<p>⚠️ Pendiente de confirmar cómo se solicita / registra la IP.</p>\n</blockquote>\n</li>\n</ol>\n<h2 id=\"manejo-de-errores\">Manejo de errores</h2>\n<p>Ante un error, el servicio responde con un código HTTP y un mensaje. Los\nprincipales:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP</th>\n<th>Mensaje</th>\n<th>Causa</th>\n<th>Cómo resolverlo</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>startDate/endDate must be in format YYYY-MM-DD</code></td>\n<td>Formato de fecha inválido</td>\n<td>Enviar las fechas en formato <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>DATE_RANGE_EXCEEDS_MAX_PERIOD (max: 1 year)</code></td>\n<td>El rango supera 1 año</td>\n<td>Reducir el rango a máximo 1 año.</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>TRANSACTION_SERVICE_ERROR_TRANSACTION_TYPE_NOT_FOUND</code></td>\n<td>Tipo de transacción inválido</td>\n<td>Revisar el valor enviado.</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>NOT_FOUND_REPORT_ID</code></td>\n<td>El <code>templateId</code> no existe</td>\n<td>Verificar el identificador de la plantilla.</td>\n</tr>\n<tr>\n<td>401 / 403</td>\n<td>(auth)</td>\n<td>API Key ausente o inválida</td>\n<td>Enviar un <code>x-api-key</code> válido.</td>\n</tr>\n<tr>\n<td>403</td>\n<td>(IP no autorizada)</td>\n<td>La IP no está en la lista blanca</td>\n<td>Registrar la IP en la lista blanca.</td>\n</tr>\n<tr>\n<td>429</td>\n<td>(límite excedido)</td>\n<td>Se superó el límite de peticiones</td>\n<td>Reintentar más tarde o revisar la velocity.</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>⚠️ Pendiente de confirmar el <strong>status y cuerpo exactos</strong> que devuelve el\nGateway para: API Key inválida, IP no autorizada y límite de peticiones.</p>\n</blockquote>\n<h2 id=\"disponibilidad-por-país\">Disponibilidad por país</h2>\n<p>El API está disponible actualmente en los siguientes países:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>País</th>\n<th>Disponible</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Costa Rica</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>México</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Guatemala</td>\n<td>✓</td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Introducción","slug":"introduccion"}],"owner":"17879691","collectionId":"c94b80db-98a6-4a5c-ab3a-4f46de26b72d","publishedId":"2sBYB1P8SW","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-09-22T14:10:08.000Z"},"item":[{"name":"Public API","item":[{"name":"Exportar archivo de transacciones","id":"e7c378df-4ca0-48b8-be31-026fb8a2b21d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://stag-api.impesa.net/transactions/v1/export/:templateId?startDate=2025-01-01&endDate=2025-12-31&extension=csv&transactionDirection=C&transactionCurrency=188&amount=1500.5&amountGt=1000&amountLt=2000&costCenter=1001&accountCatalog=110101&trxSettlementStatus=104&hasAttachments=true&card=string&receipts=false&electronicInvoice=false","description":"<p>Exporta las transacciones confirmadas del cliente en un archivo (CSV/XLSX) según la plantilla indicada y los filtros enviados. La respuesta es el archivo en el cuerpo (Content-Disposition: attachment), no un JSON.</p>\n","urlObject":{"path":["transactions","v1","export",":templateId"],"host":["https://stag-api.impesa.net"],"query":[{"description":{"content":"<p>(Obligatorio) Fecha de inicio del rango a exportar (inclusive). Tipo: string, formato <code>YYYY-MM-DD</code>. Obligatorio. Propósito: acota el período.</p>\n","type":"text/plain"},"key":"startDate","value":"2025-01-01"},{"description":{"content":"<p>(Obligatorio) Fecha de fin del rango (inclusive). Tipo: string, formato <code>YYYY-MM-DD</code>. Obligatorio. El rango no puede superar 1 año.</p>\n","type":"text/plain"},"key":"endDate","value":"2025-12-31"},{"description":{"content":"<p>Formato del archivo de salida. Tipo: string (enum): <code>CSV</code> (por defecto) / <code>XLSX</code>. Opcional. Propósito: define el tipo de archivo que se descarga.</p>\n","type":"text/plain"},"key":"extension","value":"csv"},{"description":{"content":"<p>Tipo de transacción. Tipo: string (enum): <code>C</code> (crédito) / <code>D</code> (débito). Opcional. Propósito: filtra por naturaleza del movimiento.</p>\n","type":"text/plain"},"key":"transactionDirection","value":"C"},{"description":{"content":"<p>Código de moneda. Tipo: string (ej. <code>188</code>). Opcional. Propósito: filtra por moneda.</p>\n","type":"text/plain"},"key":"transactionCurrency","value":"188"},{"description":{"content":"<p>Monto exacto (amount = valor). Tipo: number. Opcional. Los filtros de monto son mutuamente excluyentes con prioridad amount &gt; amountGt &gt; amountLt. Si no se envía ninguno, solo montos positivos (&gt; 0).</p>\n","type":"text/plain"},"key":"amount","value":"1500.5"},{"description":{"content":"<p>Monto estrictamente mayor que (amount &gt; valor). Tipo: number. Opcional. Solo aplica si no se envía <code>amount</code>. No forma rango con <code>amountLt</code>.</p>\n","type":"text/plain"},"key":"amountGt","value":"1000"},{"description":{"content":"<p>Monto estrictamente menor que (amount &lt; valor). Tipo: number. Opcional. Solo aplica si no se envían <code>amount</code> ni <code>amountGt</code>.</p>\n","type":"text/plain"},"key":"amountLt","value":"2000"},{"description":{"content":"<p>Código del centro de costo. Tipo: string. Opcional. Se envía el <strong>código</strong> que el cliente definió al crear el centro de costo en el módulo de Monibyte (no el nombre ni un id interno). Propósito: filtra las transacciones asignadas a ese centro de costo.</p>\n","type":"text/plain"},"key":"costCenter","value":"1001"},{"description":{"content":"<p>Código de la cuenta contable (catálogo). Tipo: string. Opcional. Se envía el <strong>código</strong> que el cliente definió al crear la cuenta contable en el módulo de Monibyte (no el nombre ni un id interno). Propósito: filtra las transacciones asignadas a esa cuenta contable.</p>\n","type":"text/plain"},"key":"accountCatalog","value":"110101"},{"description":{"content":"<p>Estado del reporte de gastos. Tipo: array de string (enum): <code>100</code> registrado, <code>101</code> aprobado, <code>102</code> pendiente de revisión, <code>103</code> rechazado, <code>104</code> cancelado. Opcional. Se envía repetido: <code>trxSettlementStatus[]=101&amp;trxSettlementStatus[]=102</code>.</p>\n","type":"text/plain"},"key":"trxSettlementStatus","value":"104"},{"description":{"content":"<p>Adjuntos. Tipo: boolean. <code>true</code> (con) / <code>false</code> (sin) / omitir (todos). Opcional.</p>\n","type":"text/plain"},"key":"hasAttachments","value":"true"},{"description":{"content":"<p>Filtro por tarjeta. Tipo: string. Opcional. Funcionalidad en desarrollo, disponible próximamente.</p>\n","type":"text/plain"},"key":"card","value":"string"},{"description":{"content":"<p>Indicador de comprobantes. Tipo: boolean. Opcional. Funcionalidad en desarrollo, disponible próximamente.</p>\n","type":"text/plain"},"key":"receipts","value":"false"},{"description":{"content":"<p>Indicador de factura electrónica. Tipo: boolean. Opcional. Funcionalidad en desarrollo, disponible próximamente.</p>\n","type":"text/plain"},"key":"electronicInvoice","value":"false"}],"variable":[{"id":"6249be89-e019-4cb3-af8a-2ca5b9e12cee","description":{"content":"<p>(Obligatorio) Identificador del <strong>archivo exportable</strong>: la plantilla que define las columnas y el formato del archivo a descargar. Tipo: string. Obligatorio (va en la ruta).</p>\n","type":"text/plain"},"type":"any","value":"13c4628c78b74a61bafc6bce37fb503e","key":"templateId"}]}},"response":[{"id":"a389fc81-ea62-4355-a316-43758326b7eb","name":"response","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://stag-api.impesa.net/transactions/v1/export/:templateId?startDate=2025-01-01&endDate=2025-12-31&extension=csv&transactionDirection=C&transactionCurrency=188&amount=1500.5&amountGt=1000&amountLt=2000&costCenter=1001&accountCatalog=110101&trxSettlementStatus=104&hasAttachments=true&card=string&receipts=true&electronicInvoice=true","host":["https://stag-api.impesa.net"],"path":["transactions","v1","export",":templateId"],"query":[{"key":"startDate","value":"2025-01-01"},{"key":"endDate","value":"2025-12-31"},{"key":"extension","value":"csv"},{"key":"transactionDirection","value":"C"},{"key":"transactionCurrency","value":"188"},{"key":"amount","value":"1500.5"},{"key":"amountGt","value":"1000"},{"key":"amountLt","value":"2000"},{"key":"costCenter","value":"1001"},{"key":"accountCatalog","value":"110101"},{"key":"trxSettlementStatus","value":"104"},{"key":"hasAttachments","value":"true"},{"key":"card","value":"string"},{"key":"receipts","value":"true"},{"key":"electronicInvoice","value":"true"}],"variable":[{"key":"templateId","value":"13c4628c78b74a61bafc6bce37fb503e","description":"(Obligatorio) Identificador del **archivo exportable**: la plantilla que define las columnas y el formato del archivo a descargar. Tipo: string. Obligatorio (va en la ruta)."}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[{"key":"Content-Type","value":"text/plain"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"e7c378df-4ca0-48b8-be31-026fb8a2b21d"}],"id":"c6711958-9a52-4d1d-87df-4e34a394319d","_postman_id":"c6711958-9a52-4d1d-87df-4e34a394319d","description":""}],"variable":[{"key":"baseUrl","value":"https://stag-api.impesa.net","type":"string"}]}