```python
from fastapi import FastAPI, Request, HTTPException
from fastapi.responses import JSONResponse

import helpers

app = FastAPI()


@app.post("/reports")
async def create_report(request: Request):
    try:
        body = await request.json()
    except Exception:
        raise HTTPException(status_code=400, detail="Invalid JSON")
    
    rows = body.get("rows")
    if not isinstance(rows, list):
        raise HTTPException(status_code=400, detail="Missing or invalid 'rows'")
    
    rendered = helpers.render_report(rows)
    return JSONResponse(content={"length": len(rendered)}, status_code=200)
```