Продукт

HTTP API

Базовый URL: https://promptflowengine.com/api/v1. JSON на входе, JSON на выходе. Аутентификации нет, ничего не сохраняется, текст промпта никогда не попадает в журналы. Каждый ответ содержит заголовок x-request-id.

Для пакетной обработки или конфиденциального содержимого запускайте тот же движок локально через CLI: без сети и без ограничения по частоте.

Впервые знакомитесь с интеграциями? Подключение PromptFlowEngine сравнивает расширения, MCP и этот API и содержит проверенные клиенты на TypeScript и разбор неполадок.

Эндпоинты

МетодПутьТело запросаВозвращает
GET/health—Статус, версии движка и API
GET/models—Каталог моделей с кодировками и справочными ценами
GET/rules—Каталог правил, измерения, штрафы
POST/analyzeprompt, model?Замечания, качество, токены, безопасность, требования, намерение
POST/validatepromptvalid (нет критических замечаний), замечания
POST/optimizeprompt, model?, mode?, goal?, tokenBudget?Выбранный кандидат, все кандидаты с проверкой, изменения, diff, дельты, рекомендации
POST/restructureprompt, model?, scaffold?Структурированный промпт, части с пометкой prompt или engine для каждой строки, счётчики, анализ до и после
POST/comparea, b, model?Diff, дельты токенов/стоимости/качества, устранённые и новые замечания
POST/tokensprompt, model?Число токенов, способ подсчёта, подсчёт по разделам, оценка стоимости
POST/scanpromptРиск инъекции и сигнатуры, число и места чувствительных данных, переменные без разделителей
POST/sanitizetextТекст, где чувствительные значения заменены заполнителями

mode: conservative | balanced | structured. goal: tokens | quality | balanced. model: любой id из /models (по умолчанию gpt-4.1). scaffold: логическое значение, по умолчанию true; см. реструктуризацию.

Аутентификация

Её нет. API не принимает ключи, токены и cookie, а если вы их отправите, они игнорируются. Его можно спокойно вызывать из браузера, скрипта или расширения для Chrome, потому что он не хранит ничего, что нужно защищать: каждый запрос вычисляется только по его собственному телу и затем отбрасывается. Злоупотребления ограничиваются лимитами частоты, описанными ниже.

Пример

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

С "goal":"tokens" движок вместо этого оставляет Please summarize the notes.: слово Summarize в начале предложения стоит два токена, поэтому такой кандидат на токен короче.

Ответ (сокращён, реальный вывод)
{
  "selected": "Summarize the notes.",
  "tokenDelta": -4,
  "changes": ["Removed repeated sentences", "Removed filler and politeness phrases"]
}

Пример реструктуризации

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]}'
Ответ (сокращён)
{
  "intent": "debugging",
  "topics": ["authentication"],
  "counts": { "prompt": 4, "engine": 20, "codebase": 0 },
  "sections": ["Role", "Objective", "Requirements", "Constraints", "Edge cases", "Testing", "Acceptance criteria", "Expected output"]
}

Полный промпт находится в text.

Лимиты

  • Тело запроса до 256 КБ; до 100 000 символов в каждом текстовом поле.
  • 60 POST-запросов в минуту с одного IP клиента. При превышении вы получите 429 с retry-after: 60.
  • CORS открыт без учётных данных (*), поэтому браузеры могут вызывать API напрямую.

Ошибки

Структура ошибки
{ "error": { "type": "invalid_request", "message": "\"prompt\" is required.", "requestId": "…" } }
Коды статусаtype
400invalid_request: поле отсутствует или имеет неверный тип, некорректный JSON, неверный content type
404not_found: неизвестный эндпоинт или версия API
405method_not_allowed
413payload_too_large
429rate_limited
500internal_error (внутренние детали не раскрываются)

Безопасность

  • Тип каждого поля проверяется; неизвестные модели, режимы и цели отклоняются, а не угадываются.
  • Ответы содержат cache-control: no-store и Content Security Policy, запрещающую всё, поэтому ответ никогда не отображается как страница.
  • В журнал попадают только маршрут, статус, длительность и диапазон размера. Текст промптов в журналы не пишется.
  • /scan и /analyze сообщают о местах чувствительных данных, но никогда не возвращают сами значения. Не полагайтесь на них для сохранения конфиденциальности при передаче: сначала замаскируйте данные локально через CLI или расширение для Chrome.
  • Промпты анализируются только как текст, никогда не выполняются и не отправляются модели, поэтому инъекция в промпте не может изменить поведение API.

Поддержка

Вопросы, повышенные лимиты или сбои API: support@promptflowengine.com. Укажите маршрут запроса и type ошибки; никогда не присылайте ключи API и тексты промптов с секретами.