Skip to content

API de Consulta

Endpoint

POST /api/{database}/{tabla}

Todos los verbos usan el mismo endpoint. La operación se define en el cuerpo de la solicitud.

Headers

http
Authorization: Bearer cxk_tu_token_aqui
Content-Type: application/json

Cuerpo de la solicitud

ts
{
  verb:    "select" | "insert" | "update" | "delete",  // requerido
  data?:   { [columna: string]: any },   // insert / update
  filters?: { [columna: string]: any },  // update / delete / select
  columns?: string[],                    // select — columnas a retornar
  limit?:   number,                      // select — máx. filas (default 100, máx. 1000)
  orderBy?: string,                      // select — ej. "created_at DESC"
}

SELECT

Obtener filas de una tabla.

json
POST /api/midb/usuarios

{
  "verb": "select",
  "filters": { "active": true },
  "columns": ["id", "email", "nombre"],
  "limit": 20,
  "orderBy": "created_at DESC"
}

Respuesta:

json
{
  "success": true,
  "data": {
    "rows": [
      { "id": 1, "email": "alice@example.com", "nombre": "Alice" }
    ],
    "count": 1
  }
}

TIP

Omitir filters retorna todas las filas (hasta el limit).


INSERT

Agregar una nueva fila.

json
POST /api/midb/usuarios

{
  "verb": "insert",
  "data": {
    "email": "bob@example.com",
    "nombre": "Bob",
    "active": true
  }
}

Respuesta:

json
{
  "success": true,
  "data": {
    "inserted": 1,
    "id": 42
  }
}

UPDATE

Modificar filas existentes. filters es requerido para evitar actualizaciones accidentales de toda la tabla.

json
POST /api/midb/usuarios

{
  "verb": "update",
  "data":    { "active": false },
  "filters": { "id": 42 }
}

Respuesta:

json
{
  "success": true,
  "data": { "updated": 1 }
}

DELETE

Eliminar filas. filters es requerido para evitar borrados accidentales de toda la tabla.

json
POST /api/midb/usuarios

{
  "verb": "delete",
  "filters": { "id": 42 }
}

Respuesta:

json
{
  "success": true,
  "data": { "deleted": 1 }
}

Notas

  • Todos los verbos requieren que el token tenga el permiso correspondiente
  • update y delete sin filters retornan 400 Bad Request
  • El máximo de limit es 1.000 filas por solicitud
  • Los nombres de columna en filters son case-sensitive y deben coincidir con el esquema de la tabla