Documentación de la API REST
Crea integraciones con Urbaneta. Automatiza la facturación, sincroniza residentes, lee datos de contadores y más.
Claves API
Genera claves API en la configuración de tu cuenta. Cada clave está vinculada a tu organización.
Autenticación Bearer
Todos los endpoints requieren un token Bearer válido. Los tokens expiran en 15 minutos — usa tokens de actualización para mantenerte autenticado.
Webhooks
Suscríbete a eventos (invoice.created, payment.received, reading.submitted) con cargas firmadas con HMAC.
https://testlnp.workizon.com/apiTodas las solicitudes deben realizarse por HTTPS. Reemplaza con la URL de tu instancia si aplica.
Autenticación
Incluye tu token de acceso en la cabecera Authorization en cada solicitud.
Inicio rápido
Tres pasos para tu primera integración con la API.
1. Autenticarse y obtener el token
curl -X POST https://testlnp.workizon.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"yourpassword"}'
# Response
{ "data": { "accessToken": "eyJ...", "refreshToken": "dGhp..." } }2. Listar tus edificios
curl https://testlnp.workizon.com/api/buildings \ -H "Authorization: Bearer $ACCESS_TOKEN"
3. Generar facturas para un edificio
curl -X POST https://testlnp.workizon.com/api/invoices/generate-bulk \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"buildingId":"<uuid>","periodStart":"2025-01-01","periodEnd":"2025-01-31"}'Ejemplo en JavaScript / TypeScript
No se necesita SDK — la API usa REST estándar. Patrón para obtener facturas y registrar un pago.
# Fetch unpaid invoices
curl "https://testlnp.workizon.com/api/invoices?buildingId=<uuid>&status=sent" \
-H "Authorization: Bearer $ACCESS_TOKEN"
# Mark invoice as paid
curl -X PATCH "https://testlnp.workizon.com/api/invoices/<invoice-id>" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status":"paid","paidDate":"2025-02-01"}'Referencia de endpoints
Autenticación
/auth/loginIniciar sesión con email y contraseña, devuelve tokens de acceso y actualización/auth/refreshRenovar un token de acceso caducado usando un token de actualización/auth/logoutCerrar la sesión actual/auth/magic-linkSolicitar un email con enlace mágico de inicio de sesiónEdificios
/buildingsListar todos los edificios del inquilino autenticado/buildingsCrear un nuevo edificio/buildings/:idObtener un edificio por ID/buildings/:idActualizar configuración del edificio (nombre, dirección, facturación, etc.)/buildings/:idEliminar un edificio (requiere confirmación de contraseña)Apartamentos
/buildings/:id/apartmentsListar apartamentos en un edificio/buildings/:id/apartmentsCrear un apartamento/buildings/:id/apartments/:aptIdActualizar detalles del apartamento/buildings/:id/apartments/:aptIdEliminar un apartamentoFacturas
/invoicesListar facturas con filtros (estado, edificio, rango de fechas)/invoices/:idObtener detalles de factura incluyendo líneas de detalle/invoices/generate-bulkGenerar facturas para un edificio y período/invoices/:idActualizar estado, fecha de pago o referencia de la factura/invoices/send-bulkEnviar facturas por email a los residentes/invoices/:id/pdfDescargar factura en formato PDFContadores
/metersListar definiciones de contadores en un edificio/metersCrear un nuevo contador/meters/:id/readingsEnviar una lectura de contador/meters/ocrExtraer lectura de una foto del contador usando OCR con IAResidentes y usuarios
/residentsListar residentes vinculados a tus edificios/invitationsInvitar a un usuario a un apartamento/invitationsListar invitaciones pendientes/invitations/:idCancelar una invitaciónPagos
/payments/banklinkIniciar un pago Paysera / Maksekeskus banklink/paymentsListar pagos registrados del inquilino/bank-statements/importImportar extracto bancario CSV/XML para reconciliación automáticaWebhooks
/webhooksListar endpoints webhook configurados/webhooksCrear un endpoint webhook (URL + tipos de eventos)/webhooks/:idEliminar un endpoint webhookTipos de eventos webhook
Suscríbete a cualquier combinación de eventos al crear un endpoint webhook.
invoice.createdSe generó una nueva facturainvoice.sentLa factura fue enviada al residente por emailinvoice.paidFactura marcada como pagada (manual o banklink)invoice.overdueLa factura no fue pagada antes de la fecha de vencimientopayment.receivedSe registró un pago contra una facturareading.submittedUn residente envió una lectura de contadorreading.confirmedEl administrador confirmó una lectura de contadormaintenance.createdSe envió una nueva solicitud de mantenimientomaintenance.updatedEl estado de la solicitud de mantenimiento cambióEjemplo de payload
Códigos de error HTTP
400Solicitud incorrectaCuerpo de solicitud inválido o campos requeridos faltantes401No autorizadoToken de acceso ausente o caducado403ProhibidoAutenticado pero con permisos insuficientes404No encontradoRecurso no encontrado o no accesible para tu inquilino409ConflictoRecurso duplicado (ej. el número de apartamento ya existe)422Error de validaciónValidación fallida — revisa el array errors en la respuesta429Límite de solicitudesDemasiadas solicitudes — reintenta después del valor del header Retry-After500Error del servidorError inesperado — contacta con soporte si persiste¿Listo para integrar?
Inicia sesión en tu cuenta de Urbaneta para generar claves API y configurar endpoints de webhooks.
Ir al panel de control