Saltar al contenido principal

Descripción general

La API de base de datos ofrece operaciones CRUD estilo PostgREST para las tablas de tu base de datos. Todas las solicitudes requieren encabezados de autenticación.

Encabezados


Consultar registros

Recupera registros de una tabla con filtrado, ordenamiento y paginación.

Parámetros de consulta

ParámetroTipoDescripción
limitintegerNúmero máximo de registros a devolver (1-1000, valor predeterminado: 100)
offsetintegerRegistros a omitir para la paginación (valor predeterminado: 0)
orderstringOrden de clasificación (por ejemplo, createdAt.desc, name.asc)
selectstringColumnas a devolver, separadas por comas
{field}stringFiltro de PostgREST (por ejemplo, status=eq.active)

Operadores de filtro

OperadorDescripciónEjemplo
eqIgual astatus=eq.active
neqDistinto destatus=neq.deleted
gtMayor queage=gt.18
gteMayor o igual queprice=gte.100
ltMenor quequantity=lt.10
lteMenor o igual quescore=lte.50
likeCoincidencia de patrón (sensible a mayúsculas y minúsculas)name=like.*john*
ilikeCoincidencia de patrón (no sensible a mayúsculas y minúsculas)email=ilike.*@gmail.com
inEstá en la listastatus=in.(active,pending)
isEs null/true/falsedeleted_at=is.null

Ejemplo

Respuesta

Encabezados de respuesta

EncabezadoDescripción
X-Total-CountTotal de registros que coinciden con la consulta
Content-RangeRango de registros devuelto (por ejemplo, 0-99/1234)

Crear registros

Crea uno o más registros en una tabla.
Importante: el cuerpo de la solicitud DEBE ser un arreglo, incluso para registros individuales.

Encabezados

EncabezadoValorDescripción
Preferreturn=representationInclúyelo para devolver los registros creados

Ejemplo

Respuesta

Sin el encabezado Prefer:
Con Prefer: return=representation:

Actualizar registros

Actualiza los registros que coincidan con los filtros de la consulta.

Parámetros de consulta

Usa los operadores de filtro para especificar qué registros actualizar.

Encabezados

EncabezadoValorDescripción
Preferreturn=representationInclúyelo para devolver los registros actualizados

Ejemplo

Respuesta


Eliminar registros

Elimina los registros que coincidan con los filtros de la consulta.

Parámetros de consulta

Usa los operadores de filtro para especificar qué registros eliminar.

Encabezados

EncabezadoValorDescripción
Preferreturn=representationInclúyelo para devolver los registros eliminados

Ejemplo

Respuesta

Sin el encabezado Prefer: 204 No Content Con Prefer: return=representation:

Respuestas de error

Tabla no encontrada (404)

Consulta inválida (400)

Error de validación (400)


Ejemplos

Paginación

Filtros complejos

Upsert (insertar o actualizar)

Inserta un registro o lo actualiza si se produce un conflicto en una restricción única.

Encabezados

EncabezadoValorDescripción
Preferresolution=merge-duplicatesActualiza el registro existente en caso de conflicto
Preferresolution=ignore-duplicatesIgnora la inserción si el registro ya existe

Ejemplo

Respuesta

El upsert requiere una restricción única (por ejemplo, una clave primaria o un índice único) en la tabla. La resolución de conflictos se basa en esa restricción.

Llamar a una función RPC

Ejecuta una función de base de datos mediante PostgREST RPC. Admite todos los métodos HTTP (GET, POST, PUT, PATCH, DELETE).

Ejemplo

Respuesta


Endpoints de administrador

Los siguientes endpoints requieren autenticación de administrador.

Encabezados para endpoints de administrador


Listar funciones de base de datos

Obtiene todas las funciones de base de datos en el esquema public. Requiere autenticación de administrador.

Ejemplo

Respuesta


Listar índices de base de datos

Obtiene todos los índices de la base de datos. Requiere autenticación de administrador.

Ejemplo

Respuesta


Listar políticas RLS

Obtiene todas las políticas de seguridad a nivel de fila (Row Level Security). Requiere autenticación de administrador.

Ejemplo

Respuesta


Listar disparadores (triggers) de base de datos

Obtiene todos los disparadores de la base de datos. Requiere autenticación de administrador.

Ejemplo

Respuesta


Listar migraciones de base de datos

Obtiene el historial de migraciones personalizadas ejecutadas con éxito. InsForge las almacena en system.custom_migrations, pero el endpoint devuelve únicamente los metadatos de la migración y las sentencias ejecutadas. Requiere autenticación de administrador.

Ejemplo

Respuesta


Crear una migración de base de datos

Crea y ejecuta de inmediato una migración personalizada en la base de datos. La migración solo se registra si todas las sentencias se ejecutan correctamente. Requiere autenticación de administrador.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
versionstringVersión numérica de la migración (hasta 64 dígitos). Admite prefijos secuenciales estilo Drizzle (por ejemplo, 0001) o una marca de tiempo YYYYMMDDHHmmss. Las versiones se comparan numéricamente. La CLI de InsForge genera marcas de tiempo UTC de 14 dígitos para los nombres de archivo de migración locales.
namestringNombre de la migración usando solo letras minúsculas, números y guiones
sqlstringTexto SQL a analizar y ejecutar

Ejemplo

Respuesta

No incluyas BEGIN, COMMIT ni ROLLBACK dentro de una migración personalizada. InsForge ejecuta la migración dentro de su propia transacción.

Ejecutar SQL sin procesar (modo estricto)

Ejecuta una consulta SQL sin procesar con saneamiento estricto. Bloquea el acceso a las tablas del sistema y a auth.users. Requiere autenticación de administrador.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
querystringConsulta SQL a ejecutar
paramsarrayNoParámetros de consulta para consultas parametrizadas

Ejemplo

Respuesta


Ejecutar SQL sin procesar (modo relajado)

Ejecuta una consulta SQL sin procesar con saneamiento relajado. Permite SELECT e INSERT en tablas del sistema. Úsalo con precaución. Requiere autenticación de administrador.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
querystringConsulta SQL a ejecutar
paramsarrayNoParámetros de consulta para consultas parametrizadas

Ejemplo

Respuesta

Este endpoint tiene restricciones relajadas y puede acceder a tablas del sistema. Úsalo solo cuando sea necesario y asegúrate de contar con la autorización adecuada.

Exportar base de datos

Exporta el esquema y/o los datos de la base de datos en formato SQL o JSON. Requiere autenticación de administrador.

Cuerpo de la solicitud

CampoTipoObligatorioPredeterminadoDescripción
tablesarrayNoallLista de tablas a exportar
formatstringNosqlFormato de exportación (sql o json)
includeDatabooleanNotrueIncluir los datos de las tablas
includeFunctionsbooleanNofalseIncluir funciones de la base de datos
includeSequencesbooleanNofalseIncluir secuencias
includeViewsbooleanNofalseIncluir vistas
rowLimitintegerNo-Número máximo de filas por tabla

Ejemplo

Respuesta


Importar base de datos

Importa la base de datos desde un archivo SQL. Requiere autenticación de administrador.

Solicitud (multipart/form-data)

CampoTipoObligatorioPredeterminadoDescripción
filefile-Archivo SQL a importar
truncatebooleanNofalseTruncar las tablas existentes antes de importar

Ejemplo

Respuesta


Inserción o actualización masiva (Bulk Upsert)

Inserta o actualiza datos de forma masiva a partir de un archivo CSV o JSON. Requiere autenticación de administrador.

Solicitud (multipart/form-data)

CampoTipoObligatorioDescripción
filefileArchivo CSV o JSON que contiene los datos
tablestringNombre de la tabla de destino
upsertKeystringNoNombre de la columna para la resolución de conflictos en el upsert

Ejemplo

Respuesta