Apps personalizadas (Custom Gestiono Apps)
Endpoints - Apps personalizadas
Crear apps, subir releases y guardar/consultar app-data
Esta sección documenta todos los endpoints relevantes para crear apps, subir releases y guardar/consultar datos personalizados (app-data).
Autenticación
Todas estas rutas requieren autenticación (sesión/cookies o API keys firmadas). Si vas a consumirlas desde un servicio externo, revisa primero Autenticación.
Apps
- POST /v1/apps — Crea una app (propiedad de la organización activa) y devuelve su
appId. - GET /v1/apps — Lista apps creadas por la organización activa.
- GET /v1/apps/available-apps — Lista apps disponibles para la organización (incluye apps públicas aprobadas y apps propias con releases).
- GET /v1/apps/:appId — Obtiene una app por id, incluyendo sus releases.
- PATCH /v1/apps/:appId — Actualiza metadatos de la app (nombre, descripción, imagen).
Releases (subir tu bundle JS)
- POST /v1/apps/release — Sube un nuevo release. El archivo debe enviarse como multipart/form-data con el campo
appJs(archivo.js). Parámetros:appId,releaseReach(PRIVATE | ORGANIZATION | PUBLIC). - GET /v1/apps/release?appId=:appId — Lista releases de una app.
Datos personalizados (app-data)
Los datos de una app se guardan como registros JSON en app-data. Cada registro pertenece a una organización (multi-tenant) y se agrupa por type.
- POST /v1/apps/data — Crea un registro de datos para un
typedentro de tu app. - GET /v1/apps/data?appId=:appId&type=:type — Lista registros del
typepara la organización activa. - GET /v1/apps/data/single?appId=:appId&appDataId=:appDataId&type=:type — Obtiene un registro específico por su
appDataId. - PATCH /v1/apps/data — Actualiza un registro por
id. Estrategias:replace(reemplaza el JSON completo) omerge(merge superficial con el JSON existente). - DELETE /v1/apps/data — Elimina un registro por id.
Descubrir tipos y explorar data (owner)
- GET /v1/apps/data-types/:appId — Devuelve la lista de
typeexistentes (DISTINCT) para esa app. - GET /v1/apps/data/explorer/:appId?type=:type — Devuelve data de todas las organizaciones para ese
type, más un mapa deorganizationId → name.
Estas rutas están pensadas para el dueño de la app (la organización que la creó).