curl --request GET \
--url https://api.example.com/api/prompts \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"template": "<string>",
"systemInstructions": "<string>",
"category": "<string>",
"tags": [
{}
]
}
'{
"success": true,
"data.prompts": [
{
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"tags": [
{}
],
"usageCount": 123,
"isDefault": true,
"createdBy": {},
"createdAt": "<string>"
}
],
"data.pagination": {
"page": 123,
"limit": 123,
"total": 123,
"pages": 123,
"hasNext": true,
"hasPrev": true
},
"data.prompt": {}
}Manage AI prompt templates for chat completions
curl --request GET \
--url https://api.example.com/api/prompts \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"template": "<string>",
"systemInstructions": "<string>",
"category": "<string>",
"tags": [
{}
]
}
'{
"success": true,
"data.prompts": [
{
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"tags": [
{}
],
"usageCount": 123,
"isDefault": true,
"createdBy": {},
"createdAt": "<string>"
}
],
"data.pagination": {
"page": 123,
"limit": 123,
"total": 123,
"pages": 123,
"hasNext": true,
"hasPrev": true
},
"data.prompt": {}
}Authorization: Bearer YOUR_JWT_TOKEN
GET /api/prompts
analysis, creative, technical, business, educational, generalhealthcare,analyticsShow prompt properties
isDefault (default templates first)usageCount (most used first)createdAt (most recent first)curl -X GET "https://api.cuido.com/api/prompts?page=1&limit=10" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
{
"success": true,
"message": "Plantillas obtenidas exitosamente",
"data": {
"prompts": [
{
"_id": "65a1b2c3d4e5f6a7b8c9d0e1",
"name": "Análisis de RRHH en Salud",
"description": "Plantilla especializada para analizar métricas de recursos humanos en hospitales rurales",
"category": "analysis",
"tags": ["healthcare", "hr", "analytics"],
"usageCount": 247,
"isDefault": true,
"createdBy": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e0",
"name": "System Admin",
"email": "[email protected]"
},
"createdAt": "2024-01-01T00:00:00.000Z"
},
{
"_id": "65a1b2c3d4e5f6a7b8c9d0e2",
"name": "Mejora de Calidad Asistencial",
"description": "Genera recomendaciones para mejorar indicadores de calidad hospitalaria",
"category": "business",
"tags": ["quality", "improvement", "patient-care"],
"usageCount": 189,
"isDefault": true,
"createdBy": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e0",
"name": "System Admin",
"email": "[email protected]"
},
"createdAt": "2024-01-01T00:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 15,
"pages": 2,
"hasNext": true,
"hasPrev": false
}
}
}
GET /api/prompts/:id
template and systemInstructions fieldscurl -X GET https://api.cuido.com/api/prompts/65a1b2c3d4e5f6a7b8c9d0e1 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
{
"success": true,
"message": "Plantilla obtenida exitosamente",
"data": {
"prompt": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e1",
"name": "Análisis de RRHH en Salud",
"description": "Plantilla especializada para analizar métricas de recursos humanos en hospitales rurales",
"template": "Analiza las siguientes métricas de recursos humanos:\n- Motivación promedio\n- Satisfacción del personal\n- Riesgo de fuga\n- Horas de capacitación\n\nGenera recomendaciones concretas y priorizadas.",
"systemInstructions": "Eres un experto en gestión de recursos humanos en el sector salud rural. Tu objetivo es proporcionar análisis basados en datos y recomendaciones prácticas que puedan implementarse en hospitales con recursos limitados.",
"category": "analysis",
"tags": ["healthcare", "hr", "analytics"],
"isDefault": true,
"isActive": true,
"usageCount": 247,
"createdBy": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e0",
"name": "System Admin",
"email": "[email protected]"
},
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
}
}
}
POST /api/prompts
analysis, creative, technical, business, educational, general_id and timestampscurl -X POST https://api.cuido.com/api/prompts \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Análisis de Rotación de Personal",
"description": "Analiza patrones de rotación de personal y genera estrategias de retención",
"template": "Analiza los siguientes datos de rotación:\n- Tasa de rotación mensual\n- Departamentos más afectados\n- Razones de salida\n\nProporciona estrategias específicas de retención.",
"systemInstructions": "Eres un consultor experto en retención de talento en el sector salud. Proporciona análisis basados en datos y recomendaciones accionables.",
"category": "analysis",
"tags": ["hr", "retention", "turnover"]
}'
{
"success": true,
"message": "Plantilla creada exitosamente",
"data": {
"prompt": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e9",
"name": "Análisis de Rotación de Personal",
"description": "Analiza patrones de rotación de personal y genera estrategias de retención",
"template": "Analiza los siguientes datos de rotación:\n- Tasa de rotación mensual\n- Departamentos más afectados\n- Razones de salida\n\nProporciona estrategias específicas de retención.",
"systemInstructions": "Eres un consultor experto en retención de talento en el sector salud. Proporciona análisis basados en datos y recomendaciones accionables.",
"category": "analysis",
"tags": ["hr", "retention", "turnover"],
"isDefault": false,
"isActive": true,
"usageCount": 0,
"createdBy": "65a1b2c3d4e5f6a7b8c9d0e0",
"createdAt": "2024-01-15T14:30:00.000Z",
"updatedAt": "2024-01-15T14:30:00.000Z"
}
}
}
PUT /api/prompts/:id
curl -X PUT https://api.cuido.com/api/prompts/65a1b2c3d4e5f6a7b8c9d0e9 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Analiza patrones de rotación de personal, identifica causas raíz y genera estrategias específicas de retención",
"tags": ["hr", "retention", "turnover", "analytics"]
}'
DELETE /api/prompts/:id
{
"success": true,
"message": "Plantilla eliminada exitosamente"
}
curl -X DELETE https://api.cuido.com/api/prompts/65a1b2c3d4e5f6a7b8c9d0e9 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
{
"success": false,
"message": "Validation error",
"errors": [
{
"field": "name",
"message": "El nombre debe tener al menos 3 caracteres"
}
]
}
{
"success": false,
"message": "No autorizado. Token inválido o expirado."
}
{
"success": false,
"message": "Acceso denegado. Requiere rol de administrador."
}
{
"success": false,
"message": "Plantilla no encontrada o sin permisos"
}
| Category | Use Case |
|---|---|
analysis | Data analysis, metrics interpretation, strategic insights |
creative | Brainstorming, idea generation, creative solutions |
technical | Technical documentation, troubleshooting, procedures |
business | Business strategy, process improvement, operations |
educational | Training content, learning materials, explanations |
general | General-purpose assistance, miscellaneous queries |
usageCount which increments every time it’s used in a chat completion. This helps identify:
src/routes/promptRoutes.jssrc/controllers/promptController.jssrc/services/promptService.jssrc/models/PromptTemplate.jssrc/routes/promptRoutes.js:24