Producto

API HTTP

URL base https://promptflowengine.com/api/v1. Entra JSON, sale JSON. Sin autenticación y sin almacenar nada; el texto de los prompts nunca se registra. Cada respuesta incluye una cabecera x-request-id.

Para trabajo masivo o sensible, ejecuta el mismo motor en local con la CLI: sin red y sin límites de solicitudes.

¿Primera vez con las integraciones? Conectar PromptFlowEngine compara las extensiones, MCP y esta API, con un cliente TypeScript probado y solución de problemas.

Endpoints

MétodoRutaCuerpoDevuelve
GET/health—estado y versiones del motor y de la API
GET/models—catálogo de modelos con codificaciones y precios de referencia
GET/rules—catálogo de reglas, dimensiones y penalizaciones
POST/analyzeprompt, model?hallazgos, calidad, tokens, seguridad, requisitos e intención
POST/validatepromptvalid (sin hallazgos críticos) y hallazgos
POST/optimizeprompt, model?, mode?, goal?, tokenBudget?candidato seleccionado, todos los candidatos con su verificación, cambios, diff, diferencias y sugerencias
POST/restructureprompt, model?, scaffold?prompt por secciones, las secciones con cada línea etiquetada como prompt o engine, recuentos y análisis antes y después
POST/comparea, b, model?diff, diferencias de tokens, coste y calidad, y hallazgos resueltos e introducidos
POST/tokensprompt, model?recuento de tokens, método, recuentos por sección y coste estimado
POST/scanpromptriesgo y firmas de inyección, recuentos y posiciones de datos sensibles y variables sin delimitar
POST/sanitizetexttexto con los valores sensibles sustituidos por marcadores

mode: conservative | balanced | structured. goal: tokens | quality | balanced. model: cualquier id de /models (por defecto gpt-4.1). scaffold: booleano, por defecto true; consulta la reestructuración.

Autenticación

No hay. La API no acepta clave, token ni cookie, e ignora los que envíes. Es seguro llamarla desde un navegador, un script o la extensión de Chrome porque no guarda datos de usuarios que proteger: cada solicitud se calcula a partir de su propio cuerpo y se olvida. El abuso se limita con el límite de solicitudes indicado más abajo.

Ejemplo

curl
curl -s https://promptflowengine.com/api/v1/optimize \
  -H 'content-type: application/json' \
  -d '{"prompt":"Please summarize the notes. Please summarize the notes.","mode":"balanced"}' \
  | jq '{selected: .selected.text, tokenDelta, changes: [.changes[].title]}'

Con "goal":"tokens", el motor conservaría en su lugar Please summarize the notes.: un Summarize al inicio de frase cuesta dos tokens, así que ese candidato es un token más barato.

respuesta (resumida, salida real)
{
  "selected": "Summarize the notes.",
  "tokenDelta": -4,
  "changes": ["Removed repeated sentences", "Removed filler and politeness phrases"]
}

Ejemplo de reestructuración

curl
curl -s https://promptflowengine.com/api/v1/restructure \
  -H 'content-type: application/json' \
  -d '{"prompt":"fix login issue and make google login work and dont break anything"}' \
  | jq '{intent, topics, counts, sections: [.sections[].heading]}'
respuesta (resumida)
{
  "intent": "debugging",
  "topics": ["authentication"],
  "counts": { "prompt": 4, "engine": 20, "codebase": 0 },
  "sections": ["Role", "Objective", "Requirements", "Constraints", "Edge cases", "Testing", "Acceptance criteria", "Expected output"]
}

El prompt completo está en text.

Límites

  • Cuerpo de la solicitud de hasta 256 KB; cada campo de texto, hasta 100.000 caracteres.
  • 60 solicitudes POST por minuto por IP de cliente. Por encima del límite recibes 429 con retry-after: 60.
  • CORS está abierto (*) sin credenciales, así que los navegadores pueden llamar a la API directamente.

Errores

formato del error
{ "error": { "type": "invalid_request", "message": "\"prompt\" is required.", "requestId": "…" } }
Estadotype
400invalid_request: campo ausente o de tipo incorrecto, JSON no válido o content type incorrecto
404not_found: endpoint o versión de la API desconocidos
405method_not_allowed
413payload_too_large
429rate_limited
500internal_error (no se exponen detalles internos)

Seguridad

  • Se comprueba el tipo de cada campo; los modelos, modos y objetivos desconocidos se rechazan en lugar de adivinarse.
  • Las respuestas llevan cache-control: no-store y una Content Security Policy que lo deniega todo, así que una respuesta nunca puede mostrarse como página.
  • Los registros guardan la ruta, el estado, la duración y un rango de tamaño. El texto de los prompts nunca se registra.
  • /scan y /analyze indican dónde están los datos sensibles, nunca su valor. No confíes en ello para mantener el secreto en tránsito: oculta los datos primero en local con la CLI o la extensión de Chrome.
  • El prompt se analiza como texto y nunca se ejecuta ni se envía a un modelo, así que una inyección en la entrada no puede cambiar el comportamiento de la API.

Soporte

Preguntas, límites más altos o un problema con la API: support@promptflowengine.com. Incluye la ruta de la solicitud y el type del error; nunca envíes claves API ni texto de prompts que contenga secretos.