Review simulations (async)
Trigger and read App Store rejection-risk predictions.
Updated 2026-05-24
3 min read
Forvibe's OTC ("On The Curve") engine predicts App Store rejection risk based on a model trained on 400+ real App Review rejections. Three review types exist (codebase, metadata, combined). The Public API can read all three and trigger metadata simulations directly — codebase / combined runs still need the Forvibe dashboard or macOS app because they require uploading the actual project files.
Metadata simulation requires a paid plan (Indie Dev, Startup, or Enterprise). Returns 402 PAID_PLAN_REQUIRED on free plans. Cost: 50 credits per run.
List simulations
bash
GET /api/v1/projects/:projectId/simulations?review_type=metadata&status=completed&limit=20
# Scope: review:simulateLatest simulation (convenience)
bash
GET /api/v1/projects/:projectId/simulations/latest?review_type=metadata
# Returns the most recent completed simulation. 404 if none. Scope: review:simulateTrigger a metadata simulation
bash
POST /api/v1/projects/:projectId/simulations/metadata
Content-Type: application/json
{
"version_id": "..." // optional listing version to attach the simulation to
}
# Scope: review:simulate
# Returns 202 + { job_id, status: "pending", type: "review_simulation", poll_url }Read a completed simulation
bash
GET /api/v1/simulations/:simulationId
# Richer than the unified /jobs/:id view — includes:
# - metadata_review (per-field compliance scan)
# - codebase_review (if a codebase or combined run)
# - combined_findings (cross-reference issues)
# - overall_summary (rejection risk score, suggested fixes)
# Scope: review:simulateOr poll via the unified job surface: GET /api/v1/jobs/:simulationId. The job_id and simulation_id are the same UUID.