← Назад

API Documentation

Phase 3 — автоматизация ChatGPT и Cursor

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

Защищённые endpoints требуют переменную ORCHESTRATOR_API_TOKEN на сервере.

Authorization: Bearer <ORCHESTRATOR_API_TOKEN>

При неверном токене: 401 и {"error":"..."}

Автоматизация итерации

POST /api/iterations/:id/prompt

ChatGPT загружает промпт для Cursor

Request body

{
  "promptToCursor": "string (required)"
}

Response

{
  "iteration": { ... },
  "project": { ... }
}

Example

curl -X POST "http://localhost:3000/api/iterations/ITERATION_ID/prompt" \
  -H "Authorization: Bearer $ORCHESTRATOR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"promptToCursor":"[ARCH] Задача..."}'

POST /api/iterations/:id/report

Cursor загружает отчёт

Request body

{
  "cursorReport": "string"
}

Response

{
  "iteration": { ... },
  "project": { ... }
}

Example

curl -X POST "http://localhost:3000/api/iterations/ITERATION_ID/report" \
  -H "Authorization: Bearer $ORCHESTRATOR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cursorReport":"Сделано: ..."}'

POST /api/iterations/:id/analysis

ChatGPT сохраняет анализ

Request body

{
  "chatgptAnalysis": "string"
}

Response

{
  "iteration": { ... },
  "project": { ... }
}

Example

curl -X POST "http://localhost:3000/api/iterations/ITERATION_ID/analysis" \
  -H "Authorization: Bearer $ORCHESTRATOR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"chatgptAnalysis":"Рекомендую approve..."}'

Статус workflow

GET /api/projects/:id/status

Проверка состояния для webhook / ChatGPT

Request body

Response

{
  "project": "Название",
  "projectId": "cuid",
  "slug": "my-project",
  "stage": "Текущий этап",
  "nextActor": "USER",
  "status": "ACTIVE",
  "latestIterationId": "cuid",
  "hasPrompt": true,
  "hasReport": true,
  "hasAnalysis": false,
  "approved": false
}

Example

curl "http://localhost:3000/api/projects/PROJECT_ID/status" \
  -H "Authorization: Bearer $ORCHESTRATOR_API_TOKEN"

Approve (UI / без токена)

POST /api/iterations/:id/approve

Пользователь одобряет итерацию. Создаётся новая пустая итерация, nextActor → CURSOR.

Request body

Response

{
  "approvedIteration": { ... },
  "newIteration": { ... },
  "project": { ... }
}

Example

curl -X POST "http://localhost:3000/api/iterations/ITERATION_ID/approve"

Цикл автоматизации

  1. ChatGPT → POST prompt
  2. Cursor выполняет → POST report
  3. ChatGPT → POST analysis
  4. GET status → nextActor = USER
  5. Пользователь → Approve → новая итерация

Health

GET http://localhost:3000/api/health

{
  "status": "ok",
  "timestamp": "ISO",
  "version": "phase-3",
  "database": "connected"
}

← На дашборд