{"openapi":"3.0.3","info":{"title":"BENQIT · API de integración","version":"1.5.0","description":"API para que los sistemas de la empresa (ERP, remuneraciones, BI) consulten y actualicen la información de BENQIT. Autenticación con clave de integración creada en BENQIT › Integraciones (API): bqk_live_ para producción y bqk_test_ para el sandbox. Webhooks firmados documentados en /desarrolladores#webhooks."},"servers":[{"url":"https://benqit.com/api/integration/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"bqk_live_…"}},"responses":{"Error":{"description":"Error","content":{"application/json":{"example":{"error":{"code":"insufficient_scope","message":"La credencial no tiene el permiso \"requests:read\".","requestId":"req_3f2a…"}}}}}}},"paths":{"/ping":{"get":{"tags":["General"],"summary":"Verificar la credencial","description":"Devuelve la empresa, la credencial, sus permisos y la hora del servidor. Útil para probar la conexión.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"company":{"code":"ACME","name":"ACME S.A.","country":"CL","timezone":"America/Santiago"},"credential":{"name":"ERP producción","environment":"LIVE","scopes":["employees:read"],"rateLimitPerMinute":120},"serverTime":"2026-09-28T09:30:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/employees":{"get":{"tags":["Trabajadores"],"summary":"Listar trabajadores","description":"Trabajadores con su unidad, centro de costo, nivel de cargo y jefatura directa. Ordenados por fecha de actualización para sincronizar de forma incremental. Permiso requerido: `employees:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":5,"employeeNo":"DEMO0006","taxId":"12.345.678-5","firstName":"Lucas","secondName":null,"lastName":"Contreras","secondLastName":"Díaz","email":"lucas@empresa.cl","phone":null,"orgUnit":{"code":"OPS","name":"Operaciones"},"costCenter":"OPS-NORTE","jobGrade":"G1","bossEmployeeNo":"DEMO0001","isBoss":false,"hireDate":"2022-03-01","endDate":null,"active":true,"updatedAt":"2026-09-20T10:15:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTIwVDEzOjE1OjAwLjAwMDAwMFoiLDVd"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/employees/{employeeNo}":{"get":{"tags":["Trabajadores"],"summary":"Consultar un trabajador","description":"Busca por el número de trabajador de la empresa. Permiso requerido: `employees:read`.","parameters":[{"name":"employeeNo","in":"path","required":true,"description":"Número de trabajador.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":5,"employeeNo":"DEMO0006","taxId":"12.345.678-5","firstName":"Lucas","secondName":null,"lastName":"Contreras","secondLastName":"Díaz","email":"lucas@empresa.cl","phone":null,"orgUnit":{"code":"OPS","name":"Operaciones"},"costCenter":"OPS-NORTE","jobGrade":"G1","bossEmployeeNo":"DEMO0001","isBoss":false,"hireDate":"2022-03-01","endDate":null,"active":true,"updatedAt":"2026-09-20T10:15:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}},"put":{"tags":["Trabajadores"],"summary":"Crear o actualizar un trabajador","description":"Si el número no existe, crea el trabajador (taxId, firstName y lastName obligatorios). Si existe, actualiza sólo los campos enviados. Unidad, centro de costo y nivel se indican por código; la jefatura, por número de trabajador (debe estar marcada como jefatura). Responde 201 al crear y 200 al actualizar. Permiso requerido: `employees:write`.","parameters":[{"name":"employeeNo","in":"path","required":true,"description":"Número de trabajador (hasta 40 caracteres).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Clave única por operación (recomendado: UUID). Reintentar con la misma clave devuelve la misma respuesta durante 24 horas.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":5,"employeeNo":"DEMO0006","taxId":"12.345.678-5","firstName":"Lucas","secondName":null,"lastName":"Contreras","secondLastName":"Díaz","email":"lucas@empresa.cl","phone":null,"orgUnit":{"code":"OPS","name":"Operaciones"},"costCenter":"OPS-NORTE","jobGrade":"G1","bossEmployeeNo":"DEMO0001","isBoss":false,"hireDate":"2022-03-01","endDate":null,"active":true,"updatedAt":"2026-09-20T10:15:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"taxId":{"type":"string","description":"RUT con dígito verificador. Obligatorio al crear."},"firstName":{"type":"string","description":"Nombre. Obligatorio al crear."},"secondName":{"type":"string","nullable":true,"description":"Segundo nombre."},"lastName":{"type":"string","description":"Apellido. Obligatorio al crear."},"secondLastName":{"type":"string","nullable":true,"description":"Segundo apellido."},"email":{"type":"string","nullable":true,"description":"Correo."},"phone":{"type":"string","nullable":true,"description":"Teléfono."},"orgUnit":{"type":"string","nullable":true,"description":"Código de la unidad organizacional."},"costCenter":{"type":"string","nullable":true,"description":"Código del centro de costo."},"jobGrade":{"type":"string","nullable":true,"description":"Código del nivel de cargo."},"bossEmployeeNo":{"type":"string","nullable":true,"description":"Número de la jefatura directa (null la quita)."},"isBoss":{"type":"boolean","description":"true si puede ser jefatura de otros."},"hireDate":{"type":"string","description":"Fecha de ingreso AAAA-MM-DD."},"endDate":{"type":"string","nullable":true,"description":"Fecha de término AAAA-MM-DD."},"active":{"type":"boolean","description":"false para desactivar."}}},"example":{"taxId":"12.345.678-5","firstName":"Lucas","lastName":"Contreras","email":"lucas@empresa.cl","orgUnit":"OPS","costCenter":"OPS-NORTE","jobGrade":"G1","bossEmployeeNo":"DEMO0001","hireDate":"2022-03-01"}}}}}},"/employees/{employeeNo}/balances":{"get":{"tags":["Trabajadores"],"summary":"Cupos y saldos de un trabajador","description":"Tope, usado, pendiente y disponible por beneficio y beneficiario, en la moneda del beneficio. Permiso requerido: `balances:read`.","parameters":[{"name":"employeeNo","in":"path","required":true,"description":"Número de trabajador.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"benefit":{"code":"DENTAL","name":"Reembolso dental"},"beneficiary":"Lucas Contreras","year":2026,"currency":"UF","limit":10,"used":4.2,"pending":0,"available":5.8}]}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/cost-centers":{"get":{"tags":["Estructura"],"summary":"Centros de costo","description":"Todos los centros de costo de la empresa, activos e inactivos. Permiso requerido: `structure:read`.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"code":"OPS-NORTE","name":"Operaciones Norte","active":true,"updatedAt":"2026-09-01T12:00:00-03:00"}]}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/job-grades":{"get":{"tags":["Estructura"],"summary":"Niveles de cargo","description":"Niveles de cargo ordenados por rango (1 = base). Permiso requerido: `structure:read`.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"code":"G1","name":"Operario","rank":1,"active":true,"updatedAt":"2026-09-01T12:00:00-03:00"}]}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/requests":{"get":{"tags":["Solicitudes"],"summary":"Listar solicitudes de beneficios","description":"Solicitudes con estado, montos solicitados y aprobados, centro de costo y pago. Filtra por estado o trabajador. Permiso requerido: `requests:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"SUBMITTED, REVIEW, CORRECTION, APPROVED, REJECTED, SCHEDULED, PAID o CANCELLED.","schema":{"type":"string"}},{"name":"employeeNo","in":"query","required":false,"description":"Sólo las solicitudes de este trabajador.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":24,"number":"BEN-2026-000024","state":"APPROVED","stateName":"Aprobada","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","benefit":{"code":"LENSES","name":"Reembolso de lentes"},"costCenter":"OPS-NORTE","requestedAt":"2026-09-27T18:20:00-03:00","eventDate":null,"serviceDate":"2026-09-20","amount":{"requested":45000,"approved":45000,"currency":"CLP"},"benefitAmount":{"requested":1.0967,"approved":1.0967,"currency":"UF"},"onBehalf":false,"approvedAt":"2026-09-28T09:10:00-03:00","rejectedAt":null,"rejectReason":null,"payPeriod":null,"paidAt":null,"updatedAt":"2026-09-28T09:10:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTI4VDEyOjEwOjAwLjAwMDAwMFoiLDI0XQ"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Solicitudes"],"summary":"Ingresar una solicitud de beneficio","description":"Ingresa la solicitud en representación del trabajador, con las mismas reglas que la web (vigencia, saldo, documentos obligatorios) y entra al flujo de revisión y aprobación. Documentos: en multipart/form-data como documents[CODIGO] (PDF, JPG o PNG, hasta 10 MB cada uno), o en JSON como lista con contentBase64. Requiere Idempotency-Key. Permiso requerido: `requests:write`.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Clave única por operación (recomendado: UUID). Reintentar con la misma clave devuelve la misma respuesta durante 24 horas.","schema":{"type":"string"}}],"responses":{"201":{"description":"OK","content":{"application/json":{"example":{"data":{"id":24,"number":"BEN-2026-000024","state":"SUBMITTED","stateName":"Enviada","employeeNo":"DEMO0006","benefit":{"code":"LENSES","name":"Reembolso de lentes"},"amount":{"requested":45000,"approved":null,"currency":"CLP"},"onBehalf":true,"documents":[{"type":"Boleta o factura","fileName":"boleta.pdf","valid":false}]},"meta":{"message":"La solicitud fue ingresada correctamente.","limitedToBalance":false}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"employeeNo":{"type":"string","description":"Número de trabajador."},"benefit":{"type":"string","description":"Código del beneficio vigente."},"amount":{"type":"number","description":"Monto del gasto en la moneda base."},"serviceDate":{"type":"string","description":"Fecha de prestación AAAA-MM-DD (obligatoria en reembolsos)."},"eventDate":{"type":"string","description":"Fecha del evento AAAA-MM-DD (obligatoria en beneficios por evento)."},"dependentTaxId":{"type":"string","description":"RUT de la carga, si el beneficio es para una carga."},"deathBeneficiaryTaxId":{"type":"string","description":"RUT del beneficiario, en beneficios por fallecimiento."},"reason":{"type":"string","description":"Motivo del ingreso en representación (por defecto, el nombre de la integración)."},"documents":{"type":"array","items":{"type":"object"},"description":"JSON: [{\"type\": \"INVOICE\", \"fileName\": \"boleta.pdf\", \"contentBase64\": \"...\"}]. Multipart: campos documents[INVOICE]."},"taxDocument":{"type":"object","description":"Opcional: {\"type\": \"BOLETA|FACTURA|BHE\", \"issuerTaxId\": \"76.086.428-5\", \"number\": \"1234\"}. Evita que la misma boleta se presente dos veces (también contra rendiciones)."}},"required":["employeeNo","benefit","amount"]},"example":{"employeeNo":"DEMO0006","benefit":"LENSES","amount":45000,"serviceDate":"2026-09-20","documents":[{"type":"INVOICE","fileName":"boleta.pdf","contentBase64":"JVBERi0xLjQK..."}]}},"multipart/form-data":{"schema":{"type":"object","properties":{"employeeNo":{"type":"string","description":"Número de trabajador."},"benefit":{"type":"string","description":"Código del beneficio vigente."},"amount":{"type":"number","description":"Monto del gasto en la moneda base."},"serviceDate":{"type":"string","description":"Fecha de prestación AAAA-MM-DD (obligatoria en reembolsos)."},"eventDate":{"type":"string","description":"Fecha del evento AAAA-MM-DD (obligatoria en beneficios por evento)."},"dependentTaxId":{"type":"string","description":"RUT de la carga, si el beneficio es para una carga."},"deathBeneficiaryTaxId":{"type":"string","description":"RUT del beneficiario, en beneficios por fallecimiento."},"reason":{"type":"string","description":"Motivo del ingreso en representación (por defecto, el nombre de la integración)."},"taxDocument":{"type":"object","description":"Opcional: {\"type\": \"BOLETA|FACTURA|BHE\", \"issuerTaxId\": \"76.086.428-5\", \"number\": \"1234\"}. Evita que la misma boleta se presente dos veces (también contra rendiciones)."},"documents[INVOICE]":{"type":"string","format":"binary","description":"Un campo por tipo documental (código de la empresa)."}}}}}}}},"/requests/{id}":{"get":{"tags":["Solicitudes"],"summary":"Consultar una solicitud","description":"Incluye los niveles de aprobación, los documentos (sin el archivo) y el historial. Permiso requerido: `requests:read`.","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador de la solicitud.","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":24,"number":"BEN-2026-000024","state":"APPROVED","stateName":"Aprobada","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","benefit":{"code":"LENSES","name":"Reembolso de lentes"},"costCenter":"OPS-NORTE","requestedAt":"2026-09-27T18:20:00-03:00","eventDate":null,"serviceDate":"2026-09-20","amount":{"requested":45000,"approved":45000,"currency":"CLP"},"benefitAmount":{"requested":1.0967,"approved":1.0967,"currency":"UF"},"onBehalf":false,"approvedAt":"2026-09-28T09:10:00-03:00","rejectedAt":null,"rejectReason":null,"payPeriod":null,"paidAt":null,"updatedAt":"2026-09-28T09:10:00-03:00","approvals":[{"level":1,"label":"Jefatura directa: Javier Rojas","state":"APPROVED","decidedBy":"Javier Rojas","decidedAt":"2026-09-28T09:05:00-03:00","comment":"OK"}],"documents":[{"type":"Boleta o factura","fileName":"boleta.pdf","valid":true}],"history":[{"action":"SUBMIT","state":"SUBMITTED","comment":"Solicitud ingresada.","at":"2026-09-27T18:20:00-03:00"}]}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/payments":{"get":{"tags":["Pagos"],"summary":"Líneas de pago","description":"Cada pago de una solicitud de beneficio, reembolso de rendición o entrega/reposición de fondo o viático dentro de un lote bancario, con su resultado (source BENEFIT, EXPENSE, FUND o TRIP). Ideal para contabilizar en el ERP. Permiso requerido: `payments:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"paid","in":"query","required":false,"description":"true para sólo pagadas, false para no pagadas.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":88,"batch":{"number":"LOT-2026-0009","state":"EXPORTED","payDate":"2026-09-30","period":"2026-09"},"source":"BENEFIT","requestId":24,"requestNumber":"BEN-2026-000024","expenseReportId":null,"expenseReportNumber":null,"fundId":null,"fundNumber":null,"tripId":null,"tripNumber":null,"employeeNo":"DEMO0006","benefit":"LENSES","costCenter":"OPS-NORTE","amount":45000,"paid":true,"paidAt":"2026-09-30T11:00:00-03:00","result":"PAID","bankReference":"TRX-5561","rejectReason":null,"updatedAt":"2026-09-30T11:00:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTMwVDE0OjAwOjAwLjAwMDAwMFoiLDg4XQ"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/expenses":{"get":{"tags":["Rendiciones"],"summary":"Listar rendiciones de gastos","description":"Rendiciones enviadas (no borradores) con estado, totales y centro de costo, ordenadas por actualización para sincronizar. Requiere el módulo Rendiciones. Permiso requerido: `expenses:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"SUBMITTED, CORRECTION, APPROVED, REJECTED, SCHEDULED, PAID o CANCELLED.","schema":{"type":"string"}},{"name":"employeeNo","in":"query","required":false,"description":"Sólo las rendiciones de este trabajador.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":5,"number":"REN-2026-000005","title":"Visita clientes zona norte","purpose":null,"state":"APPROVED","stateName":"Aprobada","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"funding":"OWN","lineCount":3,"overPolicyCount":1,"amount":{"total":58923,"approved":58923,"currency":"CLP"},"createdAt":"2026-09-25T09:00:00-03:00","submittedAt":"2026-09-25T18:00:00-03:00","approvedAt":"2026-09-28T10:18:00-03:00","rejectedAt":null,"rejectReason":null,"paidAt":null,"updatedAt":"2026-09-28T10:18:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTI4VDEzOjE1OjAwLjAwMDAwMFoiLDVd"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/expenses/{id}":{"get":{"tags":["Rendiciones"],"summary":"Consultar una rendición","description":"Incluye cada gasto con categoría, cuenta contable, centro de costo y documento (RUT emisor, folio), los niveles de aprobación y el historial. Permiso requerido: `expenses:read`.","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador de la rendición.","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":5,"number":"REN-2026-000005","title":"Visita clientes zona norte","purpose":null,"state":"APPROVED","stateName":"Aprobada","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"funding":"OWN","lineCount":3,"overPolicyCount":1,"amount":{"total":58923,"approved":58923,"currency":"CLP"},"createdAt":"2026-09-25T09:00:00-03:00","submittedAt":"2026-09-25T18:00:00-03:00","approvedAt":"2026-09-28T10:18:00-03:00","rejectedAt":null,"rejectReason":null,"paidAt":null,"updatedAt":"2026-09-28T10:18:00-03:00","lines":[{"id":12,"date":"2026-09-25","category":{"id":1,"code":"ALIM","name":"Alimentación","account":"5105-010"},"costCenter":"OPS-NORTE","description":"Almuerzo con cliente","document":{"type":"BOLETA","typeName":"Boleta","issuerTaxId":"76.086.428-5","issuerName":"Restaurant El Puerto","number":"1234"},"originalAmount":{"amount":15500,"currency":"CLP","rate":1},"amount":15500,"overPolicy":false,"policyNote":null,"justification":null,"hasReceipt":true}],"approvals":[{"level":1,"label":"Jefatura directa: Javier Rojas","state":"APPROVED","decidedBy":"Javier Rojas","decidedAt":"2026-09-28T10:18:00-03:00","comment":"OK"}]}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/expense-categories":{"get":{"tags":["Rendiciones"],"summary":"Categorías de gasto","description":"Categorías con su cuenta contable, política de documento y tope por gasto. Permiso requerido: `expenses:read`.","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"code":"ALIM","name":"Alimentación","account":"5105-010","documentPolicy":"REQUIRED","maxAmount":20000,"active":true}]}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/funds":{"get":{"tags":["Fondos"],"summary":"Listar fondos","description":"Fondos fijos (caja chica), por rendir y esporádicos con custodio, monto asignado, saldo, disponible y vencimiento, ordenados por actualización para sincronizar. Requiere el módulo Fondos por rendir y caja chica. Permiso requerido: `funds:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"REQUESTED, APPROVED, ACTIVE, CLOSED, REJECTED o CANCELLED.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"FIXED, TEMPORARY o SPORADIC.","schema":{"type":"string"}},{"name":"employeeNo","in":"query","required":false,"description":"Sólo los fondos de este custodio.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":1,"number":"FON-2026-000001","type":"SPORADIC","typeName":"Fondo esporádico","name":"Compra repuestos parada","purpose":"Repuestos menores parada de planta","state":"ACTIVE","stateName":"Vigente","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"amount":{"assigned":200000,"balance":200000,"available":20000,"inReview":180000,"spent":0,"toPay":0,"currency":"CLP"},"expiryDate":"2026-10-28","expired":false,"lowBalance":false,"lowBalancePercent":20,"requestedAt":"2026-09-28T09:00:00-03:00","approvedAt":"2026-09-28T09:30:00-03:00","deliveredAt":"2026-09-28T11:00:00-03:00","rejectedAt":null,"rejectReason":null,"closedAt":null,"updatedAt":"2026-09-28T11:00:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTI4VDE0OjAwOjAwLjAwMDAwMFoiLDFd"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/funds/{id}":{"get":{"tags":["Fondos"],"summary":"Consultar un fondo","description":"Incluye la cartola (movimientos con saldo acumulado), las rendiciones con cargo al fondo, los niveles de aprobación y el historial. Permiso requerido: `funds:read`.","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador del fondo.","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":1,"number":"FON-2026-000001","type":"SPORADIC","typeName":"Fondo esporádico","name":"Compra repuestos parada","purpose":"Repuestos menores parada de planta","state":"ACTIVE","stateName":"Vigente","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"amount":{"assigned":200000,"balance":200000,"available":20000,"inReview":180000,"spent":0,"toPay":0,"currency":"CLP"},"expiryDate":"2026-10-28","expired":false,"lowBalance":false,"lowBalancePercent":20,"requestedAt":"2026-09-28T09:00:00-03:00","approvedAt":"2026-09-28T09:30:00-03:00","deliveredAt":"2026-09-28T11:00:00-03:00","rejectedAt":null,"rejectReason":null,"closedAt":null,"updatedAt":"2026-09-28T11:00:00-03:00","movements":[{"id":1,"type":"DELIVERY","typeName":"Entrega","amount":200000,"state":"DONE","stateName":"Realizado","method":"BATCH","reference":"PAG-2026-000003 / TRX-5561","description":"Entrega inicial del fondo.","expenseReportId":null,"expenseReportNumber":null,"date":"2026-09-28T11:00:00-03:00","balanceAfter":200000,"createdAt":"2026-09-28T09:00:00-03:00","updatedAt":"2026-09-28T11:00:00-03:00"},{"id":9,"type":"EXPENSE","typeName":"Rendición aprobada","amount":-180000,"state":"DONE","stateName":"Realizado","method":"SYSTEM","reference":null,"description":"Rendición REN-2026-000012: Repuestos parada","expenseReportId":12,"expenseReportNumber":"REN-2026-000012","date":"2026-10-02T16:00:00-03:00","balanceAfter":20000,"createdAt":"2026-10-02T16:00:00-03:00","updatedAt":"2026-10-02T16:00:00-03:00"}]}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/fund-movements":{"get":{"tags":["Fondos"],"summary":"Movimientos de fondos","description":"Cartola de todos los fondos para contabilizar: entregas y reposiciones (+), rendiciones descontadas y devoluciones (−) y ajustes de arqueo (±). Por defecto sólo realizados; ordenados por actualización para sincronizar. Permiso requerido: `funds:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"DONE (por defecto), PENDING, SCHEDULED, CANCELLED o ALL.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"DELIVERY, EXPENSE, REPLENISH, RETURN, ADJUSTMENT u OPENING (saldo inicial migrado).","schema":{"type":"string"}},{"name":"fundNumber","in":"query","required":false,"description":"Sólo los movimientos de este fondo (ej. FON-2026-000001).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":9,"fund":{"id":1,"number":"FON-2026-000001","type":"SPORADIC","name":"Compra repuestos parada"},"employeeNo":"DEMO0006","costCenter":"OPS-NORTE","type":"EXPENSE","typeName":"Rendición aprobada","amount":-180000,"state":"DONE","stateName":"Realizado","method":"SYSTEM","reference":null,"description":"Rendición REN-2026-000012: Repuestos parada","expenseReportId":12,"expenseReportNumber":"REN-2026-000012","date":"2026-10-02T16:00:00-03:00","createdAt":"2026-10-02T16:00:00-03:00","updatedAt":"2026-10-02T16:00:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTEwLTAyVDE5OjAwOjAwLjAwMDAwMFoiLDld"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/trips":{"get":{"tags":["Viajes"],"summary":"Listar viajes","description":"Viajes con destino, fechas, viático, anticipo y estado, ordenados por actualización para sincronizar. Requiere el módulo Viajes y viáticos. Permiso requerido: `trips:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"REQUESTED, APPROVED, CLOSED, REJECTED o CANCELLED.","schema":{"type":"string"}},{"name":"employeeNo","in":"query","required":false,"description":"Sólo los viajes de este trabajador.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":1,"number":"VIA-2026-000001","state":"APPROVED","stateName":"Aprobado","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"zone":{"id":1,"code":"NAC","name":"Nacional"},"destination":"Calama, planta norte","purpose":"Mantención de bombas","transport":"Avión","startDate":"2026-09-30","endDate":"2026-10-02","actualEndDate":null,"amount":{"perDiem":130000,"advance":60000,"paid":130000,"toPay":0,"currency":"CLP"},"advanceFund":{"id":6,"number":"FON-2026-000006","state":"ACTIVE"},"requestedAt":"2026-09-28T11:30:00-03:00","approvedAt":"2026-09-28T11:40:00-03:00","rejectedAt":null,"rejectReason":null,"closedAt":null,"cancelledAt":null,"updatedAt":"2026-09-28T11:40:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTI4VDE0OjMwOjAwLjAwMDAwMFoiLDFd"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/trips/{id}":{"get":{"tags":["Viajes"],"summary":"Consultar un viaje","description":"Incluye el cálculo del viático por concepto (cantidad, tarifa, cuenta contable y, en zonas en otra moneda, la tarifa original y el tipo de cambio), los pagos, las rendiciones del viaje, los niveles de aprobación y el historial. Permiso requerido: `trips:read`.","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador del viaje.","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":1,"number":"VIA-2026-000001","state":"APPROVED","stateName":"Aprobado","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","costCenter":{"id":1,"code":"OPS-NORTE","name":"Operaciones Norte"},"zone":{"id":1,"code":"NAC","name":"Nacional"},"destination":"Calama, planta norte","purpose":"Mantención de bombas","transport":"Avión","startDate":"2026-09-30","endDate":"2026-10-02","actualEndDate":null,"amount":{"perDiem":130000,"advance":60000,"paid":130000,"toPay":0,"currency":"CLP"},"advanceFund":{"id":6,"number":"FON-2026-000006","state":"ACTIVE"},"requestedAt":"2026-09-28T11:30:00-03:00","approvedAt":"2026-09-28T11:40:00-03:00","rejectedAt":null,"rejectReason":null,"closedAt":null,"cancelledAt":null,"updatedAt":"2026-09-28T11:40:00-03:00","perDiem":[{"concept":{"code":"ALIM","name":"Alimentación","account":"5110-020"},"unit":"DAY","quantity":2.5,"rate":40000,"originalRate":null,"amount":100000,"included":true,"note":null},{"concept":{"code":"ALOJ","name":"Alojamiento","account":"5110-030"},"unit":"NIGHT","quantity":2,"rate":50000,"originalRate":null,"amount":0,"included":false,"note":"Provisto por la empresa"}],"payments":[{"id":1,"type":"PERDIEM","typeName":"Pago de viático","amount":130000,"state":"DONE","stateName":"Realizado","method":"BATCH","reference":"PAG-2026-000004 / TRX-5561","description":"Viático del viaje.","date":"2026-09-29T11:00:00-03:00","createdAt":"2026-09-28T11:40:00-03:00","updatedAt":"2026-09-29T11:00:00-03:00"}]}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/trip-payments":{"get":{"tags":["Viajes"],"summary":"Pagos de viático","description":"Pagos (PERDIEM), complementos (SUPPLEMENT) y devoluciones (RETURN, monto negativo) de viático, para contabilizar. Por defecto sólo realizados; ordenados por actualización para sincronizar. Permiso requerido: `trips:read`.","parameters":[{"name":"pageSize","in":"query","required":false,"description":"Registros por página, de 1 a 200 (por defecto 50).","schema":{"type":"integer"}},{"name":"updatedSince","in":"query","required":false,"description":"Primera sincronización: sólo registros modificados después de esta fecha-hora ISO 8601.","schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"description":"Siguientes sincronizaciones: el valor de meta.nextCursor de la respuesta anterior.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Sólo para consultas sin cursor ni updatedSince: página desde 1 (incluye meta.total).","schema":{"type":"integer"}},{"name":"state","in":"query","required":false,"description":"DONE (por defecto), PENDING, SCHEDULED, CANCELLED o ALL.","schema":{"type":"string"}},{"name":"tripNumber","in":"query","required":false,"description":"Sólo los pagos de este viaje (ej. VIA-2026-000001).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"id":1,"trip":{"id":1,"number":"VIA-2026-000001","destination":"Calama, planta norte"},"employeeNo":"DEMO0006","costCenter":"OPS-NORTE","type":"PERDIEM","typeName":"Pago de viático","amount":130000,"state":"DONE","stateName":"Realizado","method":"BATCH","reference":"PAG-2026-000004 / TRX-5561","description":"Viático del viaje.","date":"2026-09-29T11:00:00-03:00","createdAt":"2026-09-28T11:40:00-03:00","updatedAt":"2026-09-29T11:00:00-03:00"}],"meta":{"pageSize":50,"hasMore":false,"nextCursor":"WyIyMDI2LTA5LTI4VDE1OjAwOjAwLjAwMDAwMFoiLDFd"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/journal-entries":{"get":{"tags":["Contabilidad"],"summary":"Asientos contables","description":"Los mismos asientos cuadrados de Contabilidad › Asientos contables (aprobación y pago de rendiciones y beneficios, movimientos de fondos y pagos de viático), con las cuentas configuradas por la empresa. Se calculan con el estado actual de cada documento. Requiere un plan con exportación contable (Profesional o superior). Rango máximo: un año. Permiso requerido: `accounting:read`.","parameters":[{"name":"from","in":"query","required":true,"description":"Desde (AAAA-MM-DD, fecha del hecho).","schema":{"type":"string"}},{"name":"to","in":"query","required":true,"description":"Hasta (AAAA-MM-DD).","schema":{"type":"string"}},{"name":"sources","in":"query","required":false,"description":"Orígenes separados por coma: EXPENSE, FUND, TRIP, BENEFIT (por defecto todos los contratados).","schema":{"type":"string"}},{"name":"grouping","in":"query","required":false,"description":"DETAIL (un comprobante por documento, por defecto) o SUMMARY (uno por día y tipo de hecho).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Página desde 1.","schema":{"type":"integer"}},{"name":"pageSize","in":"query","required":false,"description":"Comprobantes por página, de 1 a 500 (por defecto 200).","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"number":1,"date":"2026-09-28","type":"EXPENSE_APPROVED","typeName":"Rendiciones aprobadas","document":"REN-2026-000005","description":"Rendición REN-2026-000005 Lucas Contreras","lines":[{"line":1,"account":"5110-01","debit":85000,"credit":0,"costCenter":"OPS-NORTE","auxiliary":null,"description":"Hotel · REN-2026-000005","taxDocument":{"type":"FACTURA","number":"88001","issuerTaxId":"96.505.760-9"}},{"line":2,"account":"2110-01","debit":0,"credit":85000,"costCenter":"OPS-NORTE","auxiliary":{"taxId":"12.345.678-5","name":"Lucas Contreras","employeeNo":"DEMO0005"},"description":"Reembolso por pagar · REN-2026-000005","taxDocument":null}]}],"meta":{"from":"2026-09-01","to":"2026-09-30","sources":["EXPENSE","FUND","TRIP","BENEFIT"],"grouping":"DETAIL","currency":"CLP","page":1,"pageSize":200,"total":1,"hasMore":false,"totals":{"debit":85000,"credit":85000},"warnings":[]}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/rates":{"get":{"tags":["Monedas"],"summary":"Tasas de conversión del día","description":"Valor de UF, UTM, dólar y euro en la moneda base para una fecha. Permiso requerido: `rates:read`.","parameters":[{"name":"date","in":"query","required":false,"description":"Fecha AAAA-MM-DD (por defecto hoy).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":[{"from":"UF","to":"CLP","rate":41032.64,"date":"2026-09-28","source":"mindicador.cl"}]}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/cost-centers/{code}":{"put":{"tags":["Estructura"],"summary":"Crear o actualizar un centro de costo","description":"Crea el centro de costo si el código no existe o actualiza los campos enviados. Usa el mismo código que en tu ERP. Permiso requerido: `structure:write`.","parameters":[{"name":"code","in":"path","required":true,"description":"Código (letras, números, punto, guion o guion bajo; se guarda en mayúsculas).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Clave única por operación (recomendado: UUID). Reintentar con la misma clave devuelve la misma respuesta durante 24 horas.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"code":"OPS-NORTE","name":"Operaciones Norte","description":null,"active":true,"updatedAt":"2026-09-28T10:00:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nombre. Obligatorio al crear."},"description":{"type":"string","nullable":true,"description":"Descripción."},"active":{"type":"boolean","description":"false para desactivar."}}},"example":{"name":"Operaciones Norte","active":true}}}}}},"/job-grades/{code}":{"put":{"tags":["Estructura"],"summary":"Crear o actualizar un nivel de cargo","description":"Crea el nivel si el código no existe o actualiza los campos enviados. Permiso requerido: `structure:write`.","parameters":[{"name":"code","in":"path","required":true,"description":"Código del nivel.","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Clave única por operación (recomendado: UUID). Reintentar con la misma clave devuelve la misma respuesta durante 24 horas.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"code":"G3","name":"Jefatura","rank":3,"description":null,"active":true,"updatedAt":"2026-09-28T10:00:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nombre. Obligatorio al crear."},"rank":{"type":"integer","description":"Rango de 1 (base) a 99."},"description":{"type":"string","nullable":true,"description":"Descripción."},"active":{"type":"boolean","description":"false para desactivar."}}},"example":{"name":"Jefatura","rank":3}}}}}},"/sandbox/requests/{id}/state":{"post":{"tags":["Sandbox"],"summary":"Simular un cambio de estado (sólo sandbox)","description":"Con claves bqk_test_ fuerza el estado de una solicitud del sandbox para probar tu sincronización y tus webhooks sin esperar a un aprobador. En producción responde 403. Permiso requerido: `requests:write`.","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador de la solicitud.","schema":{"type":"integer"}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Clave única por operación (recomendado: UUID). Reintentar con la misma clave devuelve la misma respuesta durante 24 horas.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":24,"number":"BEN-2026-000024","state":"APPROVED","stateName":"Aprobada","employeeNo":"DEMO0006","employeeName":"Lucas Contreras","benefit":{"code":"LENSES","name":"Reembolso de lentes"},"costCenter":"OPS-NORTE","requestedAt":"2026-09-27T18:20:00-03:00","eventDate":null,"serviceDate":"2026-09-20","amount":{"requested":45000,"approved":45000,"currency":"CLP"},"benefitAmount":{"requested":1.0967,"approved":1.0967,"currency":"UF"},"onBehalf":false,"approvedAt":"2026-09-28T09:10:00-03:00","rejectedAt":null,"rejectReason":null,"payPeriod":null,"paidAt":null,"updatedAt":"2026-09-28T09:10:00-03:00"}}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","description":"REVIEW, CORRECTION, APPROVED, REJECTED, PAID o CANCELLED."},"comment":{"type":"string","description":"Comentario (en REJECTED, motivo del rechazo)."}},"required":["state"]},"example":{"state":"APPROVED"}}}}}}}}