Produit

API HTTP

URL de base https://promptflowengine.com/api/v1. JSON en entrée, JSON en sortie. Aucune authentification et rien n’est stocké ; le texte des prompts n’est jamais journalisé. Chaque réponse porte un en-tête x-request-id.

Pour un traitement en masse ou des données sensibles, exécutez le même moteur en local avec la CLI : pas de réseau, pas de limite de débit.

Vous découvrez les intégrations ? Connecter PromptFlowEngine compare les extensions, MCP et cette API, avec un client TypeScript testé et un guide de dépannage.

Endpoints

MéthodeCheminCorpsRenvoie
GET/health—statut, versions du moteur et de l’API
GET/models—catalogue de modèles avec encodages et prix de référence
GET/rules—catalogue de règles, dimensions, pénalités
POST/analyzeprompt, model?constats, qualité, tokens, sécurité, exigences, intention
POST/validatepromptvalid (aucun constat critique), constats
POST/optimizeprompt, model?, mode?, goal?, tokenBudget?candidat retenu, tous les candidats avec leur vérification, modifications, diff, écarts, suggestions
POST/restructureprompt, model?, scaffold?prompt en sections, sections dont chaque ligne est étiquetée prompt ou engine, comptages, analyse avant et après
POST/comparea, b, model?diff, écarts de tokens, de coût et de qualité, constats résolus et introduits
POST/tokensprompt, model?nombre de tokens, méthode, comptages par section, coût estimé
POST/scanpromptrisque et signatures d’injection, comptages et positions des données sensibles, variables non délimitées
POST/sanitizetexttexte dont les valeurs sensibles sont remplacées par des marqueurs

mode : conservative | balanced | structured. goal : tokens | quality | balanced. model : tout identifiant de /models (par défaut gpt-4.1). scaffold : booléen, true par défaut ; voir la restructuration.

Authentification

Il n’y en a pas. L’API n’accepte ni clé, ni token, ni cookie, et ignore ceux que vous envoyez. Elle peut être appelée sans risque depuis un navigateur, un script ou l’extension Chrome, car elle ne détient aucune donnée utilisateur à protéger : chaque requête est calculée à partir de son propre corps, puis oubliée. Les abus sont limités par la limite de débit ci-dessous.

Exemple

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]}'

Avec "goal":"tokens", le moteur conserverait plutôt Please summarize the notes. : un Summarize en début de phrase coûte deux tokens, ce candidat est donc un token moins cher.

réponse (abrégée, sortie réelle)
{
  "selected": "Summarize the notes.",
  "tokenDelta": -4,
  "changes": ["Removed repeated sentences", "Removed filler and politeness phrases"]
}

Exemple de restructuration

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]}'
réponse (abrégée)
{
  "intent": "debugging",
  "topics": ["authentication"],
  "counts": { "prompt": 4, "engine": 20, "codebase": 0 },
  "sections": ["Role", "Objective", "Requirements", "Constraints", "Edge cases", "Testing", "Acceptance criteria", "Expected output"]
}

Le prompt complet se trouve dans text.

Limites

  • Corps de requête jusqu’à 256 Ko ; chaque champ texte jusqu’à 100 000 caractères.
  • 60 requêtes POST par minute et par IP cliente. Au-delà, vous recevez 429 avec retry-after: 60.
  • CORS est ouvert (*) sans identifiants : les navigateurs peuvent appeler l’API directement.

Erreurs

enveloppe d’erreur
{ "error": { "type": "invalid_request", "message": "\"prompt\" is required.", "requestId": "…" } }
Statuttype
400invalid_request : champ manquant ou de mauvais type, JSON invalide, mauvais content type
404not_found : endpoint ou version d’API inconnus
405method_not_allowed
413payload_too_large
429rate_limited
500internal_error (aucun détail interne n’est exposé)

Sécurité

  • Chaque champ est contrôlé en type ; les modèles, modes et objectifs inconnus sont rejetés plutôt que devinés.
  • Les réponses portent cache-control: no-store et une Content Security Policy qui interdit tout, si bien qu’une réponse ne peut jamais être affichée comme une page.
  • Les journaux enregistrent la route, le statut, la durée et une tranche de taille. Le texte des prompts n’est jamais journalisé.
  • /scan et /analyze indiquent où se trouvent les données sensibles, jamais leur valeur. Ne comptez pas là-dessus pour le secret en transit : masquez d’abord en local avec la CLI ou l’extension Chrome.
  • Le prompt est analysé comme du texte et n’est jamais exécuté ni envoyé à un modèle ; une injection dans l’entrée ne peut donc pas modifier le comportement de l’API.

Assistance

Questions, limites plus élevées ou problème avec l’API : support@promptflowengine.com. Indiquez la route de la requête et le type de l’erreur ; n’envoyez jamais de clés API ni de texte de prompt contenant des secrets.