Rutas · Editar
Editar una ruta por API
Endpoint
https://claix.dev/routes/edit/{route_id}Actualiza una ruta existente de tu cuenta: nombre, descripción, reglas y selección de tablas/columnas. Valida todo contra el Data Map publicado. Si ya hay un borrador, lo actualiza; si no, crea una nueva versión borrador.
Sustituye {route_id} por el UUID de la ruta. También se admite POST con el mismo cuerpo.
Esta llamada es gratuita: no se factura.
1. Autenticación
Misma autenticación que al crear una ruta:
x-api-key: <TU_API_KEY>
o
Authorization: Bearer <TU_API_KEY>
Solo puedes editar rutas de la cuenta asociada a la API key. Si el UUID no existe o es de otra cuenta, responde 404.
2. Formato de la petición
Método: PUT (también POST) · Content-Type: application/json
El route_id va en la URL. El cuerpo usa los mismos campos obligatorios que POST /routes:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| route_id (URL) | uuid | Sí | Identificador de la ruta en /routes/edit/{route_id}. |
| name | string | Sí | Nuevo nombre visible (1–80). |
| description | string | Sí | Nueva descripción (10–300 caracteres). |
| rules | string | Sí | Nuevas reglas de la ruta. |
| tables | array | Sí | Nueva selección de tablas y columnas del Data Map. |
Si falta cualquier campo del cuerpo, el error 400 lo menciona por nombre.
3. Cómo construir la llamada
- Obtén el
route_id(respuesta de crear ruta o del dashboard). - Construye la URL
https://claix.dev/routes/edit/<route_id>. - Envía PUT (o POST) con name, description, rules y tables completos.
- Comprueba 200 y revisa
route.versionen la respuesta.
4. Ejemplos de llamada
Consulta el panel de la derecha para ver ejemplos en cURL, JavaScript, Node.js, Python, PHP y n8n.
5. Formato de la respuesta exitosa
200 OK · Content-Type: application/json
{
"success": true,
"route": {
"route_id": "7c2f9a1e-4b8d-4e6a-9f21-0a1b2c3d4e5f",
"name": "Agenda de citas",
"slug": "agenda_de_citas",
"description": "Consulta la agenda de la clínica: pacientes, horarios y estado de la cita.",
"status": "draft",
"updated_at": "2026-10-19T18:00:00.000Z",
"version": {
"version_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"version": 2,
"status": "draft",
"rules": "Solo SELECT. Filtra por clínica del usuario. No expongas teléfonos ni emails.",
"definition": {
"schema_version": 1,
"tables": [
{
"name": "appointments",
"description": "Citas de la clínica",
"columns": [
{
"name": "id",
"type": "uuid",
"nullable": false,
"is_primary_key": true,
"description": "Identificador de la cita",
"sensitivity_hint": "none"
}
]
}
]
},
"validation": {
"valid": true,
"errors": [],
"warnings": [],
"validated_at": "2026-10-19T17:00:00.000Z"
}
}
},
"warnings": []
}La versión sigue en draft. Si quieres que el agente use estos cambios en producción, publícala desde el dashboard.
6. Errores frecuentes
| HTTP | Cuándo |
|---|---|
| 401 | API key ausente, inválida o cuenta inactiva. |
| 404 | La ruta no existe o no pertenece a tu cuenta. |
| 400 | Falta un parámetro, route_id inválido, o tablas/columnas fuera del Data Map. |
| 405 | Método no permitido. |
| 500 | Error interno al guardar. |
Ejemplo de error:
{
"error": "Descripción legible del problema.",
"detalle": "Información técnica adicional (solo presente en algunos casos).",
"log_id": "7c2e1a90-4b3d-4f8a-9e21-6d5c8b0a1f34"
}